SFTP steht für Secure File Transfer Protocol, das wir für die sichere Datenübertragung zu und von Ihrem lokalen System verwendet haben. Es funktioniert über das SSH-Protokoll und gilt daher als sicherer als das einfache FTP (File Transfer Protocol). Die Datenübertragung ist eine routinemäßige Aufgabe jedes Systemadministrators und anderer Entwickler, die Änderungen an ihrem Code vornehmen müssen.
Daher zeigen wir im heutigen Artikel die detaillierten Schritte zum Konfigurieren des SFTP-Servers und zum Erstellen von Benutzern mit ihren angegebenen Verzeichnisberechtigungen.
Für die Demonstration verwenden wir Ubuntu 20.04 LTS für die SFTP-Einrichtung, aber ähnliche Schritte können durchgeführt werden, falls Sie das RHEL/CentOS-Betriebssystem verwenden.
Voraussetzungen:
Ausgehend von den Voraussetzungen müssen wir sicherstellen, dass wir sudo- oder root-Benutzerrechte auf dem Server haben, auf dem wir SFTP-Benutzer erstellen müssen.
Beginnen wir damit, uns mit ssh beim System anzumelden, wofür Sie das Putty- oder Shell-Terminal Ihres Linux-Desktops verwenden können.
# ssh -i key.pem [email protected]_server_ip
# sudo -i
Sie können sich auch direkt bei Ihrem System anmelden, aber stellen Sie sicher, dass Sie Ihren eigenen Benutzernamen und Ihre eigenen Anmeldeinformationen verwenden.
Schritt 1:Neuen Nur-SFTP-Benutzer erstellen
Das Erstellen eines neuen Benutzers für SFTP ist so ähnlich wie das Hinzufügen anderer allgemeiner Benutzer. Aber um die Verwendung nur für SFTP-Zwecke einzuschränken, werden wir sie keiner Login-Shell zuweisen.
Führen Sie den folgenden Befehl aus, um einen SFTP-Benutzer zu erstellen, indem Sie sein benutzerdefiniertes Home-Verzeichnis angeben.
# useradd -m -d /home/example.com sftp_user
Legen Sie das Passwort des neu erstellten Benutzers mit dem Befehl „passwd“ wie unten beschrieben fest.
# passwd sftp_user
Stellen Sie sicher, dass Sie aus Sicherheitsgründen ein komplexes Passwort festlegen. Weisen Sie ihm dann eine Nologin-Shell zu, indem Sie die Datei „passwd“ wie unten beschrieben ändern.
# vim /etc/passwd
sftp_user:x:1001:1001::/home/example.com:/usr/sbin/nologin
Speichern und schließen Sie mit :wq! Um Änderungen zu übernehmen.
Schritt 2:Verzeichnisberechtigungen einrichten
Nach dem Erstellen des neuen Benutzers müssen wir die richtigen Verzeichnisberechtigungen und Eigentumsrechte für das Verzeichnis des Benutzers einrichten, das wir im ersten Schritt erstellt haben.
# chmod 755 /home/example.com/
# chown root:root /home/example.com
Schritt 3:Verzeichniszugriff einschränken
Jetzt haben wir einen neuen Nur-SFTP-Benutzer eingerichtet, als Nächstes müssen wir seinen Verzeichniszugriff einschränken, damit er auf den angegebenen Home-Ordner zugreifen kann, den wir erstellt haben.
Dazu ändern wir die ssh-Konfigurationsdatei, indem wir die folgenden Parameter hinzufügen.
# vim /etc/ssh/sshd_config
subsystem sftp internal-sftp Match User sftp_user ChrootDirectory %h AllowTCPForwarding no X11Forwarding no PasswordAuthentication yes ForceCommand internal-sftp
Stellen Sie vor dem Speichern der vorgenommenen Änderungen sicher, dass Sie Ihren Benutzernamen zu „Match User“ hinzufügen, wobei „%h“ das Home-Verzeichnis Ihres neu erstellten Benutzers innerhalb der eingeschränkten Umgebung darstellt. Dieses 'ChrootDirectory' stellt sicher, dass Ihr SFTP-Benutzer keinen Zugriff auf andere Verzeichnisse hat.
Speichern Sie die ssh-Konfigurationsdatei, überprüfen Sie die Syntax, wenn es ein Problem gibt, und starten Sie dann ihre Dienste neu und bestätigen Sie, ob sie mit dem ausgeführt wird unten Befehle.
# ssh -t
# systemctl restart sshd
# systemctl status sshd
Hier sehen Sie, dass zunächst ein Fehler in der ssh-Konfigurationsdatei aufgetreten ist, den wir behoben haben, indem wir den zusätzlichen Eintrag auskommentiert und „sshd service.
neu gestartet habenSchritt 4:SFTP-Anmeldung testen
An diesem Punkt sind wir bereit, unseren SFTp-Benutzer zu verwenden, aber vorher testen wir ihn, um sicherzustellen, dass er nur SFTP-Zugriff hat, indem wir den Befehl ssh verwenden.
# [email protected]
Wobei xx durch Ihre eigene Server-IP ersetzt werden muss. Als Ergebnis sollten Sie den unten gezeigten Verbindungsfehler erhalten.
Schritt 5:Verwendung des SFTP-Clients
Es stehen einige SFTP-Clients zur Verfügung, die für das plattformübergreifende Betriebssystem verwendet werden können, und Sie können Ihren Favoriten verwenden. Wir werden es mit FileZilla testen, einem der besten und nützlichsten verfügbaren FTP/SFTP-Clients. Sie können es einfach über den offiziellen Link herunterladen.
Lassen Sie uns es in Ihrem System öffnen und geben Sie die IP-Adresse Ihres SFTP-Servers zusammen mit Ihrem erstellten Benutzernamen und Passwort ein.
Nach erfolgreicher Anmeldung können Sie nur auf Ihr angegebenes Verzeichnis zugreifen, in dem Sie die Daten hoch- oder herunterladen können.
Schlussfolgerung:
In diesem Artikel haben wir die detaillierten Schritte zur Einrichtung und zum neuen SFTP-Server behandelt, indem wir die ssh-Konfigurationsänderungen vorgenommen, neue Benutzer hinzugefügt und die erforderlichen Verzeichnisberechtigungen zugewiesen haben. Sie können beliebig viele Benutzer hinzufügen oder einfach eine neue Gruppe erstellen und neue Benutzer in diese Gruppe aufnehmen.