Jak utworzyć użytkownika SFTP w Ubuntu 22.04 (brak dostępu do powłoki)

Jak utworzyć użytkownika SFTP w Ubuntu 22.04 (brak dostępu do powłoki)

SFTP to protokół, który umożliwia bezpieczne przesyłanie plików przez sieć. Często jest używany przez firmy i osoby fizyczne do przesyłania poufnych danych. SFTP jest podobny do FTP, ale wykorzystuje inny protokół do komunikacji. SFTP jest bezpieczniejszy niż FTP i jest często używany w połączeniu z SSH (Secure Shell), aby zapewnić jeszcze wyższy poziom bezpieczeństwa.

W tym samouczku pomożemy Ci skonfigurować serwer SFTP i utworzyć użytkownika tylko SFTP na Ubuntu 22.04 Systemy. To konto może połączyć się przez SFTP, ale nie jest w stanie połączyć się z SSH. Ponadto ograniczy to (chroot) użytkownika SFTP tylko do konkretnego katalogu.

Wymagania wstępne

  • Ubuntu 22 Ubuntu.04 System LTS z dostępem do powłoki
  • Wymaga konta uprzywilejowanego Sudo

Krok 1 - Instalowanie OpenSsh Server

Serwery Ubuntu zainstalowały już serwer OpensSh, ale systemy stacjonarne mogą go nie mieć. Użyj następującego polecenia, aby zainstalować i uruchomić serwer OpenSsh:

sudo apt aktualizacja && sudo apt instaluj openSsh-server  

Krok 2 - Utwórz użytkownika SFTP

Przede wszystkim utwórz nowe konto w swoim systemie, aby użyć jako użytkownika SFTP.

Poniższe polecenie utworzy nowe konto wymienione sftpuser bez dostępu do skorupy. Możesz zmienić wybraną nazwę użytkownika

sudo adduser -Shell /bin /false sfpuser  
Tworzenie użytkownika SFTP w Ubuntu

Krok 3 - Skonfiguruj katalog SFTP

Teraz utwórz strukturę katalogu, która ma być dostępna przez użytkownika SFTP.

sudo mkdir -p/var/sftp/pliki  

Tutaj pozwolimy użytkownikom uzyskać dostęp tylko do katalogu „plików”.

Teraz zmień własność katalogu plików na SFTPUSER. Aby SftPuser mógł czytać i pisać tylko w tym katalogu.

sudo chown sftpuser: sftpuser/var/sftp/pliki  

I ustaw 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 4 - Zaktualizuj plik konfiguracyjny SSH

Teraz 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 Authentiction Tak chrootdirectory /var /sftp permitTunnel no reagentagent fordacie 

Pamiętaj, aby dodać konfigurację po Podsystem Linia, jak pokazano na poniższym zrzucie ekranu:

SFTP tylko konfiguracja na Ubuntu

Zapisz plik konfiguracyjny i zamknij go.

Teraz zweryfikuj plik konfiguracyjny.

sudo sshd -t  

Jeśli sprawdzanie poprawności nie zostanie wyświetlone żadne wyjście. W przypadku, gdy każdy błąd pokazuje się w wyjściu, upewnij się, że napraw go przed uruchomieniem następnych poleceń.

Uruchom ponownie usługę SSH, aby zastosować zmiany.

sudo systemctl restart ssh  

Wszystkie zrobione. Użytkownik tylko SFTP jest z powodzeniem tworzony w systemie Ubuntu. Teraz spróbuj zalogować się do systemu zdalnego za pomocą poświadczeń nowego użytkownika i sprawdź, czy wszystko działa poprawnie.

Krok 5 - Podłącz do użytkownika SFTP

Można połączyć się ze zdalnym serwerem SFTP za pomocą wiersza poleceń lub aplikacji graficznych, takich jak FileZilla lub WinsCP. W tym samouczku pokażę wam obie sposoby podłączenia SFTP tylko z konto w systemie Ubuntu.

Użytkownicy Linux mogą używać narzędzia linii poleceń SFTP do podłączenia do zdalnej instancji SFTP.

sftp [chroniony e -mail]  Hasło [e -mail chronione]: sftp> 

Możesz także połączyć się ze zdalnym serwerem SFTP za pomocą aplikacji interfejsu graficznego, takich jak FileZilla. To jest dostępne zarówno dla użytkowników Linux, jak i Windows. Otwórz aplikację FileZilla i dane wejściowe na szczegóły SFTP:

  • Gospodarz: sftp: // system-ip-host
  • Nazwa użytkownika: Użyj użytkownika SFTP utworzonego w kroku 1.
  • Hasło: Użyj hasła użytkownika SFTP utworzone w kroku 1.
  • Port: Użyj portu serwera SSH lub zachowaj puste porty domyślne.

Kliknij Szybkie połączenie przycisk:

Sprawdź brak dostępu do powłoki:

Ponieważ to konto jest skonfigurowane dla połączenia tylko z 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ższą 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. 

Wniosek

Podsumowując, konfigurowanie serwera SFTP to świetny sposób na bezpieczne przesyłanie plików między komputerami. Wykonanie kroków w tym artykule możesz skonfigurować własny serwer SFTP w krótkim czasie w systemach Ubuntu. Jeśli masz jakieś pytania, możesz zostawić komentarz poniżej, a z przyjemnością pomożemy.