In dieser Anleitung erkläre ich, wie Sie SSH konfigurieren, um SFTP zuzulassen und den SSH-Anmeldezugriff zu verbieten.
Lösung:
Nun, SFTP verwendet SSH und standardmäßig können die Benutzer sowohl SSH als auch SFTP verwenden. Wenn Sie jedoch jemals möchten, dass Benutzer nur SFTP verwenden und den SSH-Zugriff verbieten, unterstützt OpenSSH dies. Ab OpenSSH-Version 4.9 können Sie sshd_config bearbeiten Datei wie unten gezeigt:
Wie man SFTP zulässt und SSH nicht zulässt
Schritt 1 :SSH-Konfigurationsdatei bearbeiten
# vim /etc/sshd_config
Schritt 2 :Suche nach FTP-Subsystem.
Falls das Subsystem ist bereits wie unten gezeigt eingestellt:
Subsystem sftp /usr/lib/openssh/sftp-server
Dann müssen Sie es ändern in:
Subsystem sftp internal-sftp
Beide sftp-server und internes sftp sind die Subsysteme von SSH, aber internal-sftp ist am meisten bevorzugt. Der Grund ist internal-sftp ist ein in Bearbeitung befindliches sftp Server, der einen Leistungsvorteil gegenüber stp-server hat und erfordert auch keine zusätzlichen Unterstützungsdateien, wenn es mit ChrootDirectory verwendet wird Option.
Schritt 3 :Fügen Sie die folgenden Zeilen hinzu
Match group ftp ChrootDirectory /home/%u X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
Suchen Sie nach „Match group ftp ‘-Zeile, die angibt, dass jeder Benutzer, der SFTP verwenden möchte, der Gruppe „ftp“ angehören sollte ‘ (Erstellen Sie bei Bedarf Ihre eigene Gruppe). Auch mit internal-sftp Subsystem ist wichtig, da wir ChrootDirectory verwenden werden Option.
Hinweis :Stellen Sie sicher, dass die obigen Zeilen nach „UsePAM yes“ hinzugefügt werden ‘ in der sshd_config Datei.
Schritt 4 :Benutzer zur FTP-Gruppe hinzufügen.
# vim /etc/group
Suchen Sie nach der FTP-Gruppe und fügen Sie Benutzer wie unten gezeigt hinzu, zum Beispiel den Benutzer „sysadmin ‘.
ftp:x:113:sysadmin
Möglicherweise müssen Sie das Home-Verzeichnis des Benutzers in /
ändern wegen der Verwendung von Chroot und root sollte der Eigentümer von /home/user sein .
Schritt 5 :Testen Sie, ob die Konfigurationen korrekt sind, bevor Sie den SSH-Dienst neu starten. Dieser Schritt ist sehr wichtig.
# sshd -t
Wenn ein Fehler vorliegt, wird dieser auf dem Bildschirm angezeigt. Andernfalls wird keine Ausgabe angezeigt.
Schritt 6 :SSHD-Dienst neu starten
# /etc/init.d/ssh restart
(oder)
# /etc/init.d/sshd restart
(oder)
# service ssh restart
(oder)
# service sshd restart
Schritt 7 :Test
Jetzt jeder Benutzer, der zu ‘ftp gehört Die Gruppe darf SFTP verwenden, kann sich aber nicht über SSH anmelden.
Hinweis :Die obigen Befehle wurden auf Ubuntu 14.04.4 LTS ausgeführt und getestet.