sFTP (Secure File Transfer Program) ist ein sicheres, interaktives Dateiübertragungsprogramm, das ähnlich wie FTP (File Transfer Protocol) funktioniert. Allerdings ist sFTP sicherer als FTP; alle Vorgänge werden über verschlüsselte SSH-Übertragungen abgewickelt.
Es kann für die Verwendung mehrerer nützlicher SSH-Funktionen konfiguriert werden, wie z. B. Authentifizierung und Komprimierung mit öffentlichen Schlüsseln. Es stellt eine Verbindung zum angegebenen Remote-Computer her, meldet sich dort an und wechselt dann in den interaktiven Befehlsmodus, in dem der Benutzer verschiedene Befehle ausführen kann.
In diesem Artikel zeigen wir Ihnen, wie Sie ein gesamtes Verzeichnis (einschließlich seiner Unterverzeichnisse und Unterdateien) mithilfe von sFTP hoch-/herunterladen.
Standardmäßig verwendet das SFTP-Protokoll dieselbe Methode wie das SSH-Transportprotokoll, um eine sichere Verbindung zum Remote-Server herzustellen. Obwohl für die Benutzerauthentifizierung ein Passwort verwendet wird, das dem SSH-Standard ähnelt, wird empfohlen, kennwortlose SSH-Anmeldungen zu erstellen und zu verwenden, um die Verbindung zu Remote-Hosts zu vereinfachen und sicherer zu machen.
Um eine Verbindung zu einem Remote-SFTP-Server herzustellen, stellen Sie eine sichere SSH-Verbindung her und erstellen Sie eine SFTP-Sitzung wie folgt:
$ sftp tecmint@192.168.56.10
Nachdem Sie sich beim Remote-Host angemeldet haben, können Sie den interaktiven sFTP-Befehl wie folgt ausführen:
sftp> ls #list directory sftp> pwd #print working directory on remote host sftp> lpwd #print working directory on local host sftp> mkdir uploads #create a new directory
Um ein gesamtes Verzeichnis auf einen Remote-Linux-Host hochzuladen, verwenden Sie den Befehl put. Wenn der Verzeichnisname jedoch nicht im Arbeitsverzeichnis auf dem Remote-Host vorhanden ist, erhalten Sie eine Fehlermeldung, wie im folgenden Screenshot gezeigt.
Erstellen Sie also zunächst ein Verzeichnis mit demselben Namen auf dem Remote-Host und laden Sie es dann vom lokalen Host hoch. Der Parameter -r ermöglicht das Kopieren von Unterverzeichnissen und Unterdateien:
sftp> put -r Tecmint.com-articles sftp> mkdir Tecmint.com-articles sftp> put -r Tecmint.com-articles
Um die Änderungszeit, Zugriffszeit und den Modus der übertragenen Datei beizubehalten, verwenden Sie das Flag -p.
sftp> put -pr Tecmint.com-articles
Um den gesamten fstools-0.0-Ordner von einem Remote-Linux-Host auf Ihren lokalen Computer herunterzuladen, verwenden Sie den Befehl get mit dem Flag -r wie folgt:
sftp> get -r fstools-0.0
Wenn der Ordner heruntergeladen wurde, überprüfen Sie das Arbeitsverzeichnis des lokalen Computers.
Um die sFTP-Shell zu verlassen, geben Sie Folgendes ein:
sftp> bye或者sftp> exit
Bitte beachten Sie, dass Sie aus Sicherheitsgründen ein Chroot-Jail verwenden können, um zu verhindern, dass ein Benutzer auf das gesamte Dateisystem auf dem Remote-Host zugreift, um den sFTP-Benutzer auf sein Home-Verzeichnis zu beschränken.
Das ist es! In diesem Artikel zeigen wir Ihnen, wie Sie ein ganzes Verzeichnis mit sFTP hoch-/herunterladen.
Das obige ist der detaillierte Inhalt vonVerwenden Sie den Befehl sftp für die sichere Dateiübertragung unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!