What Is an SFTP Server?
Spisu treści:
- Tworzenie grupy SFTP
- Dodawanie użytkowników do grupy SFTP
- Konfigurowanie SSH
- Testowanie konfiguracji
- Wniosek
W tym samouczku wyjaśnimy, jak skonfigurować środowisko Jail Chroot Jail, które ograniczy użytkowników do ich katalogów domowych. Użytkownicy będą mieli tylko dostęp SFTP, dostęp SSH zostanie wyłączony. Te instrukcje powinny działać dla każdej nowoczesnej dystrybucji Linuksa, w tym Ubuntu, CentOS, Debian i Fedora.
Tworzenie grupy SFTP
Zamiast konfigurować serwer OpenSSH dla każdego użytkownika indywidualnie, utworzymy nową grupę i dodamy do niej wszystkich naszych chrootowanych użytkowników.
Uruchom następującą komendę
groupadd
aby utworzyć grupę użytkowników
sftponly
:
sudo groupadd sftponly
Możesz nazwać grupę, jak chcesz.
Dodawanie użytkowników do grupy SFTP
Następnym krokiem jest dodanie użytkowników, których chcesz ograniczyć, do grupy
sftponly
.
Jeśli jest to nowa konfiguracja, a użytkownik nie istnieje, możesz utworzyć nowe konto użytkownika, wpisując:
sudo useradd -g sftponly -s /bin/false -m -d /home/username username
- Opcja
-g sftponlydoda użytkownika do grupy sftponly. Opcja-s /bin/falseustawia powłokę logowania użytkownika. Ustawiając powłokę logowania na/bin/falseużytkownik nie będzie mógł zalogować się do serwera przez SSH. -M-m -d /home/usernameinformuje-m -d /home/usernameaby utworzył katalog osobisty użytkownika.
Ustaw silne hasło dla nowo utworzonego użytkownika:
sudo passwd username
W przeciwnym razie, jeśli użytkownik, którego chcesz ograniczyć, już istnieje, dodaj go do grupy
sftponly
i zmień jego powłokę:
sudo usermod -G sftponly -s /bin/false username2
Katalog domowy użytkownika musi być własnością root i mieć
755
uprawnień:
sudo chown root: /home/username
sudo chmod 755 /home/username
Ponieważ katalogi domowe użytkowników są własnością użytkownika root, użytkownicy ci nie będą mogli tworzyć plików i katalogów w swoich katalogach domowych. Jeśli w domu użytkownika nie ma żadnych katalogów, musisz utworzyć nowe katalogi, do których użytkownik będzie miał pełny dostęp. Na przykład możesz utworzyć następujące katalogi:
sudo mkdir /home/username/{public_html, uploads}
sudo chmod 755 /home/username/{public_html, uploads}
sudo chown username:sftponly /home/username/{public_html, uploads}
Jeśli aplikacja internetowa używa
public_html
użytkownika jako katalogu głównego dokumentu, zmiany te mogą prowadzić do problemów z uprawnieniami. Na przykład, jeśli korzystasz z WordPress, będziesz musiał utworzyć pulę PHP, która będzie działać jako użytkownik będący właścicielem plików i dodać
sftponly
grupy
sftponly
.
Konfigurowanie SSH
SFTP jest podsystemem SSH i obsługuje wszystkie mechanizmy uwierzytelniania SSH.
Otwórz plik konfiguracyjny SSH
/etc/ssh/sshd_config
w edytorze tekstu:
sudo nano /etc/ssh/sshd_config
Wyszukaj wiersz zaczynający się od
Subsystem sftp
, zwykle na końcu pliku. Jeśli linia zaczyna się od skrótu
#
usuń skrót
#
i zmodyfikuj go, aby wyglądał następująco:
Subsystem sftp internal-sftp
Pod koniec pliku następujący blok ustawień:
Match Group sftponly ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no
Dyrektywa
ChrootDirectory
określa ścieżkę do katalogu chroot.
%h
oznacza katalog domowy użytkownika. Ten katalog musi być własnością użytkownika root i nie może być zapisywany przez żadnego innego użytkownika lub grupę.
Zachowaj szczególną ostrożność podczas modyfikowania pliku konfiguracyjnego SSH. Niepoprawna konfiguracja może spowodować, że usługa SSH nie powiedzie się.
Po zakończeniu zapisz plik i uruchom ponownie usługę SSH, aby zastosować zmiany:
sudo systemctl restart ssh
W CentOS i Fedorze usługa ssh nazywa się
sshd
:
Testowanie konfiguracji
Po skonfigurowaniu chroota SFTP możesz spróbować zalogować się do zdalnego komputera za pośrednictwem SFTP przy użyciu poświadczeń chrootowanego użytkownika. W większości przypadków użyjesz stacjonarnego klienta SFTP, takiego jak FileZilla, ale w tym przykładzie użyjemy polecenia sftp.
Otwórz połączenie SFTP za pomocą polecenia sftp, a następnie nazwy użytkownika zdalnego serwera oraz adresu IP lub nazwy domeny serwera:
sftp [email protected]
Zostaniesz poproszony o podanie hasła użytkownika. Po połączeniu serwer zdalny wyświetli komunikat potwierdzający i monit
sftp>
:
[email protected]'s password: sftp>
Uruchom polecenie
pwd
, jak pokazano poniżej, a jeśli wszystko działa zgodnie z oczekiwaniami, polecenie powinno zwrócić
/
.
sftp> pwd Remote working directory: /
Możesz także wyświetlić listę zdalnych plików i katalogów za pomocą polecenia
ls
Powinieneś zobaczyć katalogi, które wcześniej utworzyliśmy:
Wniosek
W tym samouczku nauczyłeś się konfigurować środowisko Jail Chroot Jail na serwerze Linux i ograniczać dostęp użytkowników do ich katalogu domowego.
Domyślnie SSH nasłuchuje na porcie 22. Zmiana domyślnego portu SSH dodaje dodatkową warstwę bezpieczeństwa do twojego serwera, zmniejszając ryzyko automatycznych ataków. Możesz także skonfigurować uwierzytelnianie oparte na kluczu SSH i połączyć się z serwerem bez podawania hasła.
bezpieczeństwo ssh sftpAdministrator sieci P-to-P dostaje więzienie Zdanie
Administrator sieci P-to-P zostaje skazany na 18 miesięcy więzienia .
Jak skonfigurować, skonfigurować, używać Kontroli rodzicielskiej w Windows 7
Dowiedz się, jak włączyć, wyłączyć, skonfigurować i używać funkcji Kontroli rodzicielskiej w systemie Windows 7 do monitorowania i kontrolowania aktywności internetowych dzieci.
Jak skonfigurować i skonfigurować ustawienia routera Zapora
Dowiedz się, jak skonfigurować zaporę routera, uzyskać dostęp do strony routera sprzętowego, skonfigurować ustawienia zapory routera. Sprawdź, które porty są niezbędne na komputerze.







