Jak utworzyć tylko użytkownika SFTP w Debian 11
- 3690
- 219
- Igor Madej
SFTP (SSH File Transfer Protocol) to bezpieczny protokół plików używany do dostępu, zarządzania i przesyłania plików przez zaszyfrowaną sesję transportową SSH. Pierwsza bezpieczeństwo jest zasadą kciuka dla administratorów systemu. W niektórych przypadkach musimy umożliwić zdalnym użytkownikom dostępu do systemu plików w naszym systemie, ale nie chcesz pozwolić im na uzyskanie powłoki. Umożliwi to bezpieczny kanał, aby zapewnić ograniczony dostęp do określonych plików i katalogów.
Ten samouczek pomoże Ci skonfigurować dostęp do SFTP (bez dostępu do powłoki) w systemie Debian 11. Utworzy w systemie środowisko chroot, aby ograniczyć użytkownika SFTP tylko do określonego katalogu. Umożliwi również SFTP dostęp tylko bez SSH dostęp do użytkownika.
Wymagania wstępne
- Uruchomiony system Linux Debian 11 Bullseye
- Musisz mieć uprzywilejowane konto Sudo z dostępem do powłoki
Krok 1 - Utwórz nowego użytkownika
Przede wszystkim utwórz nowego użytkownika do połączenia z serwerem SFTP. Poniższe polecenie utworzy nowe konto wymienione sftpuser bez dostępu do skorupy. Możesz użyć dowolnej nazwiska lub wymagania.
sudo adduser -Shell /bin /false sfpuser
Krok 2 - Utwórz katalog dostępu do SFTP
Utworzyłeś użytkownika dla SFTP. Teraz utwórz katalog do konfiguracji jako chroot dla SFTP. W tym przykładzie utworzę /var/sftp informator. Katalog musi mieć własność pierwotną, aby skonfigurować jako katalog chroot. Dlatego utworzymy subdirectory pod /var /sftp z dostępem do konta SFTP.
Utwórz strukturę katalogu za pomocą następującego polecenia:
sudo mkdir -p/var/sftp/pliki
Następnie musimy ustawić prawidłowe uprawnienia do katalogów, aby skonfigurować jako dostęp do chroot z dostępem do zapisu do użytkownika. Tutaj /var /sFTP musi mieć główną własność i grupę za właściwą zgodą. Aby ustawić to pozwolenie, wpisz:
sudo chown root: root /var /sftp
sudo chmod 755 /var /sftp
Teraz zmień zgodę na "akta"
katalog umożliwiający dostęp do zapisu do SFTPUSER. Aby ustawić te uprawnienia, wpisz:
sudo chown sftpuser: sftpuser/var/sftp/pliki
Gdy SFTPUSER połączy się z serwerem, dostanie /var /sftp jako katalog główny. Nie może uzyskać dostępu do systemu plików poza nim. Ponadto użytkownik może odczytać/zapisywać pliki tylko w katalogu „plików”.
Krok 3 - Skonfiguruj SSHD tylko dla SFTP
Następnie musisz skonfigurować serwer SSH, aby umożliwić „sftpuser” podłączenie serwera tylko z SFTP bez dostępu do powłoki. Aby wprowadzić niezbędne zmiany, edytuj plik konfiguracyjny SSH.
sudo nano/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 fordacieKonfiguracja chroot dla użytkownika SFTP
Sprawdź dwukrotnie, że wszystkie ustawienia są prawidłowe. Następnie zapisz zmiany i uruchom ponownie usługę SSH, aby zastosować zmiany.
sudo systemctl restart ssh
Wszystkie zakończone, używanie SFTP jest z powodzeniem tworzone w twoim systemie Debian. Teraz spróbuj zalogować się do systemu zdalnego za pomocą poświadczeń nowego użytkownika i sprawdź, czy wszystko działa poprawnie.
Krok 4 - Podłącz do 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 serwera SFTP.
Użytkownicy Linux mogą używać narzędzia linii poleceń SFTP do łączenia się ze zdalnymi instancjami SFTP.
sftp [chroniony e -mail]
Hasło [e -mail chronione]: sftp>
Interfejs GUI lub użytkownicy systemu Windows mogą korzystać z graficznych klientów SFTP. Na przykład użyj klienta FileZilla, aby podłączyć zdalne konto SFTP w systemie zdalnym.
Sprawdź brak dostępu do powłoki:
Ponieważ to konto jest skonfigurowane dla połączenia tylko 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.
Wniosek
W tym poradniku nauczyłeś się tworzyć środowisko więzienia chroot dla użytkowników SFTP bez dostępu do serwera. Środowisko Chroot zabezpiecza system plików, uniemożliwiając użytkownikom dostęp do plików poza zdefiniowanym katalogiem. Ten samouczek jest tworzony i testowany z systemem Debian 11 Bullseye, ale będzie to działać na innych wersjach Debiana.