Was ist SFTP? | Übertragen Sie Dateien mit SFTP-Befehlen

In diesem Handbuch werden wir das SFTP-Protokoll definieren und seine verschiedenen Verwendungszwecke erläutern. Wir werden auch die verschiedenen Methoden zur Kommunikation mit Remote-Hosts über SFTP erläutern und einige der nützlichsten SFTP-Befehle auflisten, die während einer SFTP-Sitzung auf einem Linux- oder macOS-Terminal genutzt werden können.

Was ist SFTP?

SSH File Transfer Protocol (SFTP) ist ein Protokoll, das verwendet wird, um sichere Dateiübertragungen von einem vernetzten Host zu einem anderen zu ermöglichen. Es wird häufig von Organisationen und Einzelpersonen verwendet, um den sicheren Dateizugriff, die Dateiübertragung und die Dateiverwaltung über einen sicheren Shell-Datenstrom zu erleichtern.

Wofür wird SFTP verwendet?

SFTP wurde entwickelt, um Dateien über SSH zu übertragen. Daher wird SFTP hauptsächlich dazu verwendet, Dateien sicher von einem System auf ein anderes zu übertragen. Die beiden Systeme können entfernte Computer sein, die sich im selben Gebäude befinden, oder Systeme, die sich in verschiedenen Ländern befinden.

Darüber hinaus kann SFTP von Clients für Remote-Dateiverwaltungsfunktionen genutzt werden. Dadurch können diese Anwendungen den Inhalt von Verzeichnissen und Unterverzeichnissen entfernt durchsuchen und auflisten, neue Verzeichnisse erstellen, Verzeichnisse umbenennen und Dateien und Verzeichnisse kopieren oder löschen.

Ein weiterer Vorteil von SFTP-Dateiübertragungen besteht darin, dass sie fortgesetzt werden können, wenn sie während einer Dateiübertragung unterbrochen werden.

So verwenden Sie SFTP zum sicheren Übertragen von Dateien

GUI-Clients

Die überwiegende Mehrheit der Menschen verwendet Anwendungen mit einer grafischen Benutzeroberfläche (GUI), um ihre SFTP-Dateiübertragungen und Dateiverwaltungsaktivitäten zu steuern. Dies liegt daran, dass diese grafischen Clients die Ausführung von Aufgaben viel einfacher machen. Mit GUI-SFTP-Clients können Sie beispielsweise Elemente per Drag-and-Drop von einem Fenster in ein anderes ziehen, um Dateiübertragungen zu initiieren.

Zwei der beliebtesten GUI-SFTP-Anwendungen sind CyberDuck (macOS) und WinSCP (Windows). Bei beiden grafischen Clients müssen Benutzer den Namen des Hosts angeben, mit dem sie sich verbinden möchten, und sich dann mit einem gültigen Benutzernamen und Kennwort authentifizieren.

Danach können sie den GUI-Client verwenden, um die verschiedenen Funktionen zu steuern, die ihnen zur Verfügung stehen, um Dateiübertragungen zu initiieren oder Dateiverwaltungsaktivitäten auf dem Remote-System durchzuführen.

SFTP-Befehle

Benutzer verwenden hauptsächlich Befehlszeilen-SFTP auf Systemen, auf denen Linux ausgeführt wird, oder um Dateiübertragungen von ihrem macOS-Terminal aus zu steuern.

Dazu muss der Benutzer zunächst die SFTP-Sitzung über die Befehlszeile initiieren. Geben Sie dazu den folgenden Befehl ein (wobei Benutzername Ihr Benutzername und Hostname die Adresse für den Host ist):

sftp [email protected]

Wenn Sie dazu aufgefordert werden, geben Sie Ihr Passwort ein, um sich mit dem Remote-SFTP-Host zu verbinden.

Wenn Sie einen benutzerdefinierten SSH-Port verwenden, müssen Sie die SFTP-Sitzung mit dem folgenden Befehl initiieren (wobei benutzerdefinierter Port die Portnummer ist):

sftp -oPort=benutzerdefinierterPort [email protected]

Sobald die Verbindung hergestellt ist, sehen Sie die SFTP-Eingabeaufforderung (sftp>) und Sie können mit der Verwendung der folgenden SFTP-Befehle beginnen. Sie können auf diese Liste von Befehlen (und einige andere weniger gebräuchliche) zugreifen, indem Sie entweder das eingeben Hilfe oder ? Befehl in die SFTP-Eingabeaufforderung.

CD

Ändern Sie den Verzeichnispfad auf dem Remote-Host
llsListen Sie den Inhalt des aktuellen Verzeichnisses auf dem lokalen Computer auf
lcdÄndern Sie das Verzeichnis auf dem lokalen Computer
lmkdirErstellen Sie ein Verzeichnis auf dem lokalen Computer
erhaltenKopieren Sie eine Datei vom Remote-Host auf den lokalen Computer
chownÄndern Sie den Eigentümer von Dateien auf dem Remote-Host
ls (oder dir)Listen Sie den Inhalt des aktuellen Verzeichnisses auf dem Remote-Host auf
mkdirErstellen Sie ein Verzeichnis auf dem Remote-Host
stellenKopieren Sie eine Datei vom lokalen Computer auf den Remote-Host
umbenennenBenennen Sie eine Datei auf dem Remote-Host um
rmLöschen Sie eine Datei auf dem Remote-Host
pwdRemote-Arbeitsverzeichnis anzeigen
lwdArbeitsverzeichnis auf dem lokalen Rechner anzeigen
rmdirEntfernen Sie ein Verzeichnis auf dem Remote-Host (es muss zuerst leer sein)
AusführungAnzeige der SFTP-Version f
lumaskÄndern Sie den lokalen umask-Wert
SymlinkErstellen Sie einen symbolischen Link für eine Datei auf dem Remote-Host
ImDasselbe wie Symlink
df-hÜberprüfen Sie den Speicherplatz des Remote-Servers in Gigabyte
HilfeHolen Sie sich Hilfe zur Verwendung von SFTP-Befehlen
!Flucht zur lokalen Shell. Um zu SFTP zurückzukehren, geben Sie exit ein (Sie können Befehle im zugrunde liegenden Betriebssystem ausführen, ohne die Shell zu verlassen, indem Sie ! gefolgt von dem erforderlichen Befehl eingeben).
?Informationen zu einem bestimmten Befehl abrufen (zum Beispiel: ? cd)
AusfahrtBeenden Sie die Verbindung mit dem Remote-Host und beenden Sie SFTP
VerlassenDasselbe wie Ausgang

Denken Sie daran, dass sich die Shell-Eingabeaufforderung in ändert, wenn Sie eine SFTP-Sitzung eingeben sftp> In diesem Fall können Sie keine Befehle mehr eingeben, die an die lokale Shell gerichtet sind. Stattdessen müssen Sie die oben aufgeführten SFTP-Befehle verwenden.

Wenn Sie Befehle in die lokale Shell für Ihr Betriebssystem eingeben müssen, müssen Sie eingeben ! um die Eingabeaufforderung der SFTP-Shell zu umgehen (gefolgt von Ausfahrt zurück zu den sftp> prompt).

SFTP vs. FTP – was ist der Unterschied?

FTP steht für File Transfer Protocol. Es ist ein Protokoll, das zum Übertragen von Dateien zwischen zwei Remote-Systemen ohne Verwendung von Verschlüsselung verwendet wird.

FTP wurde nicht entwickelt, um sichere Dateiübertragungen zu ermöglichen. Es verwendet Benutzernamen und Passwörter im Klartext zur Authentifizierung und enthält keine Verschlüsselung. Dies bedeutet, dass Daten, die über FTP gesendet werden, anfällig für Man-in-the-Middle-Angriffe wie Sniffing und Spoofing sind.

SFTP ist ein Dateiübertragungsprotokoll, das den Prozess durch die Verwendung von Secure Shell (SSH) sicherer macht, um einen sicheren Datenstrom zwischen zwei Remote-Systemen einzurichten, bevor der Informationsaustausch initiiert wird.

Aufgrund der Sicherheitsbedenken bei der Verwendung von FTP gilt das Protokoll heute hauptsächlich als veraltet. Aus diesem Grund sollte es immer nur für die Übermittlung bereits öffentlicher Informationen verwendet werden.

Die gute Nachricht ist, dass kommerzielle Dateiübertragungstools heutzutage alle SFTP bereitstellen, was bedeutet, dass es wirklich keine Notwendigkeit gibt, unsicheres FTP zu verwenden, es sei denn, Sie befinden sich auf einem Legacy-System.

Auf unserer FTP-Backup-Seite finden Sie eine Liste der sichersten Dienste.