Jak utworzyć użytkownika SFTP bez dostępu do powłoki na Centos/RHEL 8

Jak utworzyć użytkownika SFTP bez dostępu do powłoki na Centos/RHEL 8

SFTP (SSH File Transfer Protocol) to bezpieczny protokół transferu plików między dwoma systemami. Działa nad protokołem SSH i dzieli ten sam port 22. Ten samouczek pomoże Ci utworzyć SFTP Dostęp tylko użytkowników (bez SSH Access) w systemach Centos 8 i Redhat 8. Użytkownik może podłączyć serwer tylko z SFTP i może uzyskać dostęp do określonego katalogu. Użytkownicy nie mogą SSH na serwerze. Postępuj zgodnie z poniższym samouczkiem, aby utworzyć konto SFTP w CentOS 8 i RHEL 8.

Krok 1 - Utwórz konto

Przede wszystkim utwórz konto użytkownika dla SFTP Access. W tym samouczku tworzymy nazwisko użytkownika sftpuser bez dostępu do skorupy. Ustaw również silne hasło dla użytkownika.

sudo adduser -Shell /bin /false sfpuser sudo passwd sftpuser 
Zmiana hasła dla użytkownika sftpuser. Nowe hasło: Ponownie przestawić nowe hasło: Passwd: Wszystkie tokeny uwierzytelniania zostały pomyślnie zaktualizowane. 

Krok 2 - Utwórz katalog

Teraz utwórz strukturę katalogu, która ma być dostępna przez użytkownika SFTP. Ograniczamy tylko nowego użytkownika do tego katalogu. Więc użytkownik nie może uzyskać dostępu do plików do innych katalogów.

sudo mkdir -p/var/sftp/pliki 

Zmień własność katalogu na nowo utworzonych użytkowników SFTP. Aby SftPuser mógł czytać i pisać w tym katalogu.

sudo chown sftpuser: sftpuser/var/sftp/pliki 

Musisz ustawić właściciela i właściciela grupy /var /sftp na root. Użytkownik root ma dostęp do odczytu/zapisu na ten dostęp. Członkowie grupy i inne konta odczytują tylko uprawnienia.

sudo chown root: root /var /sftp sudo chmod 755 /var /sftp 

Krok 3 - Skonfiguruj SSH dla SFTP

Jak wiemy, SFTP działa w protokole SSH, więc musimy skonfigurować to w pliku konfiguracyjnym. Edytuj plik konfiguracyjny SSH w edytorze tekstu.

sudo vim/etc/ssh/sshd_config 

I dodaj następujące ustawienia na końcu pliku.

Dopasuj użytkownika sftpuser forceCommand Wewnętrzne SFTP hasło Automatyka 

Zapisz konfigurację i ponownie uruchom usługę SSH, aby zastosować zmiany.

sudo systemctl restart sshd.praca 

Wszystko jest gotowe, twój system jest gotowy zaakceptować połączenie SFTP dla utworzonego konta. Przetestujmy połączenie SFTP, a także upewnij się, że użytkownik nie jest upoważniony do SSH.

Krok 4 - Przetestuj połączenie SFTP

Używam FileZilla do połączenia z instancją SFTP z moich systemów Windows. Użytkownicy komputerów stacjonarnych Linux mogą również korzystać z FileZilla do połączenia.

Dla serwera Linux użytkownicy mogą używać narzędzia linii poleceń SFTP do łączenia się ze zdalnym instancją SFTP.

sftp [chroniony e -mail] 
Łączenie z SFTP.tecadmin.Net… [chroniony e -mail] hasło: sftp> 

Połącz się z FileZilla:

To konto jest skonfigurowane tylko dla połączenia SFTP. Więc jeśli jakikolwiek użytkownik próbował się połączyć za pośrednictwem SSH, zostanie odłączony natychmiast po pomyślnym uwierzytelnianiu. Użytkownik otrzyma poniżej wiadomość:

SSH [chroniony e -mail] 
Hasło [e -mail chronione]: ta usługa umożliwia tylko połączenia SFTP. Połączenie z SFTP.tecadmin.Zamknięta netto. 

Powyższa wiadomość (ta usługa umożliwia tylko połączenia SFTP.) pokazuje, że użytkownik ma tylko dostęp do SFTP. Użytkownicy nie mogą podłączyć serwera przez SSH.