In diesem Handbuch zeigen wir Ihnen, wie Sie einen SFTP-Server mit VSFTPD auf Ubuntu 20.04 Focal Fossa einrichten. Wenn Sie es noch nicht getan haben, sehen Sie sich unser Tutorial zum Einrichten eines FTP-Servers unter Ubuntu 20.04 Focal Fossa mit VSFTPD an, da dieser Artikel über SFTP davon ausgeht, dass Sie die im FTP-Leitfaden beschriebene Konfiguration angewendet haben.
FTP ist ein großartiges Protokoll für den Zugriff auf und die Übertragung von Dateien, aber es hat den Nachteil, dass es ein Klartextprotokoll ist. Mit anderen Worten, die Nutzung über eine Internetverbindung ist nicht sicher, da Ihre Zugangsdaten und Daten unverschlüsselt übertragen werden. Das „S“ in SFTP steht für „Secure“ und tunnelt das FTP-Protokoll durch SSH, wodurch die Verschlüsselung bereitgestellt wird, die zum Herstellen einer sicheren Verbindung erforderlich ist.
In diesem Tutorial lernen Sie:
- So installieren und konfigurieren Sie den SSH-Daemon
- So richten Sie ein SFTP-Benutzerkonto und eine Gruppe ein
- So stellen Sie über die Befehlszeile eine Verbindung zum SFTP-Server her
- So stellen Sie über die Befehlszeile eine Verbindung zum SFTP-Server her
So richten Sie den SFTP-Server unter Ubuntu 20.04 Focal Fossa Linux ein
Kategorie | Anforderungen, Konventionen oder verwendete Softwareversion |
---|---|
System | Ubuntu 20.04 Focal Fossa installiert oder aktualisiert |
Software | VSFTPD, SSH-Daemon |
Andere |
|
Konventionen | # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von sudo Befehl$ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden |
SSH-Daemon konfigurieren
- SFTP erfordert SSH. Wenn der SSH-Server also noch nicht auf Ihrem System installiert ist, installieren Sie ihn mit dem folgenden Befehl:
$ sudo apt install ssh
- Sobald SSH installiert ist, müssen wir einige Änderungen an der SSHD-Konfigurationsdatei vornehmen. Verwenden Sie nano oder Ihren bevorzugten Texteditor, um es zu öffnen:
$ sudo nano /etc/ssh/sshd_config
- Scrollen Sie zum Ende der Datei und fügen Sie ganz am Ende die folgenden 5 Zeilen hinzu:
SSH-KonfigurationsdateiMatch group sftp ChrootDirectory /home X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
Die obigen Zeilen erlauben Benutzern im
sftp
Gruppe, über SFTP auf ihre Home-Verzeichnisse zuzugreifen, verweigert ihnen jedoch den normalen SSH-Zugriff, sodass sie niemals auf eine Shell zugreifen können. Nachdem Sie diese Zeilen eingefügt haben, speichern und schließen Sie die Konfigurationsdatei. - Starten Sie den SSH-Dienst neu, damit diese neuen Änderungen wirksam werden:
$ sudo systemctl restart ssh
SFTP-Benutzerkonto erstellen
Jetzt müssen wir Benutzerkonten für jeden erstellen, dem wir SFTP-Zugriff gewähren möchten.
- Erstellen Sie eine neue Benutzergruppe namens
sftp
. Alle unsere SFTP-Benutzer müssen dieser Gruppe angehören.$ sudo addgroup sftpAdding group `sftp' (GID 1002) ...Fertig.
- Erstellen Sie als Nächstes einen neuen Benutzer. Wir nennen unseren einfach
sftpuser
in diesem Beispiel. Achten Sie auch darauf, diesen Benutzer zumsftp
hinzuzufügen Gruppe.$ sudo useradd -m sftpuser -g sftp
- Legen Sie ein Passwort für den neu erstellten
sftpuser
fest :$ sudo passwd sftpuserNeues Passwort:Neues Passwort erneut eingeben:passwd:Passwort erfolgreich aktualisiert
- Zu guter Letzt gewähren wir dem Benutzer vollen Zugriff auf sein eigenes Home-Verzeichnis, verweigern aber allen anderen Benutzern im System den Zugriff auf das Verzeichnis:
$ sudo chmod 700 /home/sftpuser/
Unsere SFTP-Konfiguration ist abgeschlossen; Jetzt können wir uns anmelden, um sicherzustellen, dass alles richtig funktioniert.
Melden Sie sich über die Befehlszeile bei SFTP an
Sie können sich über SFTP entweder mit dem Hostnamen oder der IP-Adresse Ihres Systems anmelden. Um von demselben System aus zu testen, auf dem Sie gerade SFTP konfiguriert haben, verbinden Sie sich mit der Loopback-Adresse 127.0.0.1
wird gut funktionieren.
- Öffnen Sie ein Terminal und melden Sie sich mit
sftp
an Befehl:$ sftp [email protected] Authentizität des Hosts „127.0.0.1 (127.0.0.1)“ kann nicht festgestellt werden. Der Fingerabdruck des ECDSA-Schlüssels lautet SHA256:9HZflwSB64J+SELGLczOuv3f06gT/3ZaZAOezVZn2XQ. Sind Sie sicher, dass Sie das möchten Verbindung fortsetzen (ja/nein/[Fingerabdruck])? yesWarnung:„127.0.0.1“ (ECDSA) wurde dauerhaft zur Liste bekannter Hosts hinzugefügt
- Navigieren Sie zum Home-Verzeichnis des Benutzers, da dies der einzige Ort ist, an dem er Berechtigungen hat. Versuchen Sie hier, ein neues Verzeichnis zu erstellen, um zu bestätigen, dass alles wie vorgesehen funktioniert:
sftp> cd sftpusersftp> mkdir sftp-testsftp> lssftp-test sftp>
Melden Sie sich über die GUI bei SFTP an
Wenn Sie es vorziehen, eine GUI-Anwendung zu verwenden, um sich mit Ihrem SFTP-Server zu verbinden, stehen Ihnen viele Optionen zur Verfügung. Sie können Ihren bevorzugten SFTP-Client oder den standardmäßig in Ubuntu integrierten Client verwenden – den Nautilus-Dateimanager.
- Öffnen Sie den Nautilus-Dateimanager im Anwendungsmenü.
- Klicken Sie auf „Andere Standorte“ und geben Sie
sftp://127.0.0.1
ein im Feld „Mit Server verbinden“ unten im Fenster und klicken Sie auf Verbinden.
Verbinden Sie sich mit Nautilus mit dem SFTP-Server - Geben Sie die zuvor eingerichteten Zugangsdaten des SFTP-Kontos ein und klicken Sie auf Verbinden. Geben Sie die Anmeldeinformationen für das SFTP-Konto ein, um eine Verbindung herzustellen
- Bei einer erfolgreichen Verbindung können Sie Ihr Home-Verzeichnis öffnen und das zuvor erstellte Testverzeichnis sehen. Erfolgreiche Verbindung zum SFTP-Server
Schlussfolgerung
Im FTP-Server-Artikel haben wir gesehen, wie man mit VSFTPD einen FTP-Server auf Ubuntu 20.04 Focal Fossa erstellt. Wir haben auch behandelt, wie Sie die Befehlszeile und die Ubuntu-GUI verwenden, um sich mit dem FTP-Server zu verbinden.
In diesem Artikel haben wir gesehen, wie man das FTP-Protokoll sichert, indem man SFTP auf unserem System einrichtet. Wenn Sie die Anweisungen in diesem Handbuch befolgen, können Computer in Ihrem lokalen Netzwerk oder über das Internet sicher auf Ihr System zugreifen, um Dateien entweder über die Befehlszeile oder ihren bevorzugten SFTP-Client zu speichern und abzurufen.