Was ist ein SFTP-Server?
Secure File Transfer Protocol (SFTP) wird verwendet, um Verbindungen zwischen Clients und dem FTP-Server zu verschlüsseln. SFTP bietet Dateizugriff, Dateiübertragung und Dateiverwaltungsfunktionen über SSH-Tunnel. Das Einrichten eines SFTP-Servers, auf den mehrere Benutzer zugreifen, erfordert, dass Sie den Sicherheitsschutz durchsetzen, um SFTP-Benutzer vor externen Eindringlingen zu schützen und den SFTP-Server auch vor anderen böswilligen SFTP-Benutzern zu schützen. Es ermöglicht Ihnen auch, einzelne SFTP-Benutzer zu isolieren. Dieser Beitrag soll Ihnen zeigen, wie Sie einen SFTP-Server in CentOS einrichten. Beachten Sie, dass dies auf viele verschiedene Arten erreicht werden kann, aber wir verwenden MySecureShell, einen OpenSSH-basierten SFTP-Server. Mit MySecureShell haben Sie die folgenden Möglichkeiten; Sie steuern die Bandbreite Ihres SFTP-Servers, Sie können Ihren Server über eine GUI verwalten und Sie können Benutzerbeschränkungen auch über IP oder Gruppen erzwingen, mit umfassenden Protokollierungsinformationen und vielem mehr.
Wir beginnen mit der Installation des folgenden –
1. Installieren Sie das Paket openssh-server
yum install openss1-deve1 openssh-server make
2. Installieren Sie MySecureShell
Öffnen und bearbeiten Sie die folgende Datei –vi /etc/yum.conf
Fügen Sie am Ende der Seite Folgendes hinzu –
[mysecureshell] name=MySecureShell baseurl=http://mysecureshell.f enabled=1 gpgcheck=0Änderungen speichern und Editor verlassen –
3. Aktualisieren Sie Ihren Server und installieren Sie mysecureshell
yum update -y yum install mysecureshell -y
4. Überprüfen Sie das Installationsverzeichnis von mysecureshell
whereis MySecureShell
5. Erstellen Sie eine spezielle Gruppe für SFTP-Benutzer namens sftpusers
groupadd sftpusers
6. Fügen Sie ein Passwort für Ihren neuen Benutzer hinzu
passwd joanPasswort für Benutzer joan ändern.Neues Passwort:
7. Für Chroot-Zugriff, um den Chroot-Zugriff einzurichten
Um einen Benutzer auf ein bestimmtes Verzeichnis zu beschränken, werden wir die folgenden Änderungen in /etc/ssh/shtp_config
vornehmenSie können mit Ihrem Editor bearbeiten
vi /etc/ssh/shtp_config
Suchen Sie Zeile 147 und kommentieren Sie sie aus – Subsystem sftp /usr/libexec/openssh/sftp-server und fügen Sie die eine Zeile darunter hinzu.
Fügen Sie dies nach der kommentierten Zeile hinzu –
Subsystem sftp internal-sftp Fügen Sie am Ende der Datei Folgendes hinzu –X11Forwarding no AllowTcpForwarding no ChrootDirectory /sftp/%u ForceCommand internal-sftp
NB. Das obige chrootet den Benutzer in einen bestimmten Ordner, aber Sie könnten ihn möglicherweise auch in sein Home-Verzeichnis chrooten, indem Sie „ChrootDirectory /sftp/%u“ durch „ChrootDirectory %h“ ersetzen.
Jetzt müssen wir den Chroot-Verzeichnisbaum erstellen, in den dieser Benutzer (Jack) eingesperrt wird.
# mkdir -p /sftp/jack/{incoming,outgoing} # chown guestuser:sftpusers /sftp/guestuser/{incoming,outgoing} Your permissions should look like the following - # ls -ld /sftp/guestuser/{incoming,outgoing} drwxr-xr-x 2 guestuser sftpusers 4096 Oct 25 23:49 /sftp/guestuser/incoming drwxr-xr-x 2 guestuser sftpusers 4096 Oct 25 23:49 /sftp/guestuser/outgoing
8. Nachdem Sie die Konfigurationsdatei bearbeitet haben, starten Sie sshd mit
neuservice sshd restart
9. Sie können vorhandene(n) Benutzer, z. B. Jack, zur „sftp“-Gruppe hinzufügen
usermod -s /usr/bin/mysecureshell -g sftp jack
10. Sie können einen oder mehrere neue Benutzer, z. B. Joan, zur „sftp“-Gruppe hinzufügen
useradd -m -s /usr/bin/mysecureshell joan usermod -s /bin/mysecureshell -g sftp joan
11. Auf der Client-Seite können Sie sich mit diesem Befehl beim SFTP-Server anmelden
sftp [email protected]_host.com
11. Zur Überprüfung der derzeit verbundenen SFTP-Benutzer
sftp-who