So übertragen Sie Dateien sicher unter Linux mit sftp
In diesem Handbuch erfahren Sie, wie Sie sftp (SSH File Transfer Protocol) verwenden, ein Befehlszeilenprogramm zum sicheren Übertragen von Dateien zwischen zwei Linux-Computern über ein Netzwerk.
Was ist SFTP?
Bevor Sie SFTP definieren, ist es wichtig, einen Schritt zurückzutreten und FTP (File Transfer Protocol), den Vorgänger von SFTP, zu verstehen.
FTP ist ein Netzwerkkommunikationsprotokoll, das zum Übertragen von Dateien zwischen zwei Computern in einem Netzwerk verwendet wird, normalerweise zwischen einem Server und einem Client.
SFTP ist eine sicherere Version von FTP. Es gewährleistet die Sicherheit, indem es die zwischen zwei Computern ausgetauschten Daten verschlüsselt, indem es das SSH-Protokoll (Secure Shell) verwendet. FTP hingegen überträgt die Daten als Klartext über ein Netzwerk.
SFTP kann Ihnen und Ihrem Unternehmen auch dabei helfen, bestimmte Compliance-Vorschriften wie DSGVO oder CCPA zu erfüllen, die eine möglichst sichere Übertragung vertraulicher Daten erfordern.
Zugreifen auf einen Remote-PC
Unter Linux können Sie hauptsächlich Dateien mit SFTP über das sftp- Programm übertragen. Sftp ist eine robuste Befehlszeilensoftware, mit der Sie Dateien sicher und interaktiv über SSH übertragen können.
Sie können mit dem folgenden Befehl über sftp eine Verbindung zu einem Remote-Server herstellen. Denken Sie daran, die Platzhalter " Benutzername " und " IP-Adresse-des-Remote-PCs " entsprechend durch den korrekten Benutzernamen und die IP-Adresse des Servers zu ersetzen.
sftp username@ip-address-of-remote-pc
Geben Sie das Serverkennwort ein, wenn Sie dazu aufgefordert werden. Wenn das Terminal Sie mit dem Status Verbunden begrüßt, bedeutet dies, dass der Verbindungsaufbau erfolgreich war. Der blinkende Cursor zeigt lediglich an, dass sich sftp im interaktiven Modus befindet.
Hinweis : Wenn Sie keinen Remote-Server haben, mit dem Sie interagieren können, können Sie sftp lokal ausprobieren, indem Sie den folgenden Befehl ausführen:
sftp 127.0.0.1
Interaktive sftp-Befehle
Sobald Sie sich im interaktiven Modus befinden, können Sie mit mehreren Befehlen mit dem Remote-PC interagieren. Einige der wichtigsten Befehle sind unten aufgeführt. Beachten Sie, dass im Gegensatz zu den meisten Linux-Befehlen bei sftp-Befehlen die Groß-/Kleinschreibung nicht beachtet wird.
Auflisten von Dateien auf einem Remote-Server
Eine der wichtigsten Aufgaben besteht darin, Dateien in einem Verzeichnis aufzulisten, damit Sie eine Vorstellung davon haben, was Sie übertragen möchten. Sie können auch Datei- und Ordnerinformationen des Remote-PCs abrufen, einschließlich der Größe und Berechtigungen der gespeicherten Dateien.
Um Dateien auf Ihrem Remote-PC aufzulisten, können Sie den folgenden Befehl verwenden:
ls
Sie können die meisten ls-Befehlsflags wie -a , -l usw. verwenden und sie funktionieren einwandfrei.
Um Dateien auf Ihrem lokalen Arbeits-PC aufzulisten, können Sie den folgenden Befehl verwenden:
lls
Auflisten des aktuellen Arbeitsverzeichnisses
Sie können mit pwd auch den Pfad des aktuellen Arbeitsverzeichnisses auf dem entfernten PC ausgeben . Der Befehl pwd steht für Present Working Directory .
pwd
So listen Sie das aktuelle Arbeitsverzeichnis auf Ihrem lokalen PC auf:
lpwd
Verwenden Sie die Tastenkombination Strg + L , um die interaktive Terminalausgabe zu löschen.
Hochladen von Dateien auf einen Server
Verwenden Sie den Befehl put , um Dateien von Ihrem lokalen PC auf einen Remote-Server zu übertragen. Um beispielsweise ein Linux Manjaro ISO-Image aus Ihrem Home-Ordner zu übertragen, verwenden Sie den folgenden Befehl. Sie können das Flag -R verwenden, um ein Verzeichnis rekursiv zu kopieren.
put manjaro-xfce-21.0.7-minimal-210614-linux54.iso
Die Ausgabe ähnelt der unten gezeigten. Sftp zeigt den Fortschritt der Dateiübertragung in Echtzeit an.
Da der Dateipfad zum Remote-Server nicht angegeben wurde, legt sftp die Datei in einen ähnlichen Pfad wie den des lokalen PCs.
Wenn Sie mehrere Dateien kopieren möchten, verwenden Sie stattdessen den Befehl mput . Um beispielsweise alle Excel-Tabellen (XLS)-Dateien in ein Verzeichnis zu kopieren:
mput *.xls
Um die Übertragung einer Datei zum Server zu unterbrechen oder zu stoppen, können Sie die Tastenkombination Strg + C verwenden .
Herunterladen von Dateien von einem Server
Verwenden Sie den Befehl get , um Dateien vom Server auf Ihren lokalen PC herunterzuladen. Um beispielsweise eine HTML-Datei namens index.html vom Server zu kopieren, führen Sie einfach den folgenden Befehl aus:
get index.html
Um mehrere Dateien vom Server abzurufen , verwenden Sie den Befehl mget . Um beispielsweise alle HTML-Dateien aus dem aktuellen Arbeitsverzeichnis des Servers auf Ihr lokales System zu kopieren:
mget *.html
Dateiberechtigungen ändern
Sie können die Berechtigungen einer Datei auf dem Remote-Server auch innerhalb des interaktiven Terminals mit dem Befehl chmod ändern. Um beispielsweise alle Zugriffsberechtigungen für die Datei index.html zu erteilen, führen Sie den folgenden Befehl aus:
chmod 777 index.html
Beenden Sie die sftp-Sitzung
Um das interaktive sftp-Terminal zu beenden, können Sie einfach den Befehl bye eingeben . Alternativ können Sie auch die Befehle exit oder quit verwenden .
Befehlszeilenhilfe abrufen
Anstatt Befehle auswendig zu lernen, lernen Sie am besten, wie Sie bei Bedarf Hilfe von der Befehlszeile abrufen können.
Sftp kommt mit guter Dokumentation. Geben Sie einfach einen der folgenden Befehle ein, um Hilfe im interaktiven Terminalfenster zu erhalten.
help?
Praktische Anwendungen von SFTP
Diese Anleitung hat Ihnen gezeigt, wie Sie Daten mit dem Befehl sftp sicher und interaktiv zwischen Linux-Computern übertragen. Wenn Sie ein Raspberry Pi-Benutzer sind, könnten Sie auch daran interessiert sein, verschiedene Möglichkeiten zum Übertragen von Daten von Ihrem Raspberry Pi auf einen PC kennenzulernen.