Syntax
sftp [-1246aCfpqrv] [-B <buffer_size>] [-b <batchfile>] [-c <cipher>] [-D <sftp_server_path>] [-F <ssh_config>] [-i <identity_file>] [-l <limit>] [-o <ssh_option>] [-P <port>] [-R <num_requests>] [-S <program>] [-s <subsystem> | <sftp_server>] [-X binary] <host> sftp [-X binary] [[<user>@]<host>[:<file> [<file>]]] sftp [-X binary] [[<user>@]<host>[:<dir>[/]]] sftp [-X binary] -b <batchfile> [<user>@]<host>
Die ausführliche Beschreibung der Operanden finden Sie auf den Man Pages von OpenSSH.
Beschreibung
sftp ist ein interaktives Programm für den File-Transfer (ähnlich wie FTP), das alle Operationen über einen verschlüsselten ssh-Kanal auf TCP-Ebene abwickelt. Ferner kann sftp viele Eigenschaften von ssh nutzen, wie z.B. Public Key-Authentifizierung und Datenkomprimierung. sftp stellt die Verbindung zum angegebenen Rechner her und loggt sich dort ein. Danach befindet sich sftp im interaktiven Modus für die Kommando-Eingabe.
Der Schalter -X binary
kann bei Verbindungen zu ASCII-Servern benutzt werden, um Dateien binär (Bit-identisch) zu übertragen. Im interaktiven Modus kann dazu auch das Kommando type [text|binary]
(siehe "sftp - sicherer Datei-Transfer zwischen Rechnern im Netz") verwendet werden. Bei Verbindungen zu EBCDIC-Servern muss man diesen Schalter weglassen, um einen bit-identischen Transfer zu erreichen.
Dateien aus einem remote Verzeichnis transferieren
Mit dem Kommando-Format
sftp [-X binary] [[<user>@]<host>[:<file> [<file>]]]
können Sie sftp verwenden, um Dateien automatisch von einem Verzeichnis auf einem fernen Rechner ins lokale Verzeichnis zu transferieren. Voraussetzung hierfür ist, dass eine nicht-interaktive Authentifizierung verwendet wird. Andernfalls ist der Datei-Transfer erst nach erfolgter interaktiver Authentifizierung möglich.
sftp in einem remote Verzeichnis starten
Mit dem folgenden Kommando-Format können Sie sftp in einem Verzeichnis auf einem fernen Rechner starten:
sftp [-X binary] [[<user>@]<host>[:<dir>[/]]]
Automatisierte sftp-Sessions
Das Kommando-Format
sftp [-X binary] -b <batchfile> [<user>@]<host>
ermöglicht automatische sftp-Sessions unter Verwendung der Option -b
. In diesem Fall ist in der Regel Public Key-Authentifizierung erforderlich, um die Notwendigkeit einer Passwort-Eingabe beim Verbindungsaufbau zu umgehen (siehe Abschnitt „Authentifizierung zwischen OpenSSH Client und Server“).
Interaktive Kommandos
Im interaktiven Modus stellt Ihnen sftp eine Reihe interaktiver Kommandos zur Verfügung, die denen des FTP ähnlich sind.
Bei der Notation der Kommandos ist zu beachten:
Groß-/Kleinschreibung ist nicht relevant.
Pfadnamen, die Leerzeichen enthalten, müssen in einfache oder doppelte Hochkommata gesetzt werden.
bye
sftp beenden.
cd <path>
Verzeichnis auf dem fernen Rechner in <path> ändern.
chgrp <group> <path>
Group Id der Datei <path> in <group> ändern.
<group> muss eine numerische Group Id sein.
chmod <mode> <path>
Zugriffsrechte der Datei <path> auf <mode> ändern.
chown <own> <path>
Eigentümer der Datei <path> zu <own> ändern. <own> muss eine numerische UID sein.
exit
sftp verlassen.
get [<flags>] <remote-path> [<local-path>]
Datei <remote-path> vom fernen Rechner auf den lokalen Rechner übertragen und unter <local-path> abspeichern. Wenn <local-path> nicht spezifiziert ist, wird die Datei unter dem gleichen Namen wie auf dem fernen Rechner abgespeichert.
Wenn das Flag -P
spezifiziert ist, werden auch alle Zugriffsrechte und die Zugangszeit der Datei kopiert.
help
Hilfetext (Kurzreferenz der Kommandos) anzeigen.
lcd <path>
Lokales Verzeichnis in <path> ändern.
lls [<ls-options> [<path>]]
Lokales Verzeichnis anzeigen. Entweder <path> anzeigen, oder, wenn <path> nicht spezifiziert ist, aktuelles Verzeichnis anzeigen.
lmkdir <path>
Das durch <path> spezifizierte lokale Verzeichnis erstellen.
ln <oldpath> <newpath>
Symbolischen Link von <oldpath> zu <newpath> erstellen.
lpwd
Lokales Arbeitsverzeichnis anzeigen.
ls [<flags>] [<path>]
Inhalt des fernen Verzeichnisses anzeigen. Entweder Inhalt von <path> anzeigen, oder, wenn <path> nicht spezifiziert ist, Inhalt des aktuellen Verzeichnisses anzeigen. Wenn das Flag -I
nicht spezifiziert ist, zusätzliche Information, inklusive Berechtigungen und Besitz anzeigen.
lumask <mask>
Lokale umask (Zugriffsrechte) in <mask> ändern.
mkdir <path>
Fernes, durch <path> spezifiziertes Verzeichnis erstellen.
progress
Fortschrittsanzeige ein-/ausschalten.
put [<flags>] <local-path> [<remote-path>]
Datei <local-path> hochladen und auf den fernen Rechner übertragen. Wenn <remote-path> nicht spezifiziert ist, wird die Datei auf dem fernen Rechner genauso benannt wie auf dem lokalen Rechner. Wenn das Flag -P
spezifiziert ist, werden auch alle Zugriffsrechte der Datei und die Zugangszeit der Datei kopiert.
pwd
Fernes Arbeitsverzeichnis anzeigen.
quit
sftp verlassen.
rename <oldpath> <newpath>
Ferne Datei von <oldpath> in <newpath> umbenennen.
rm <path>
Ferne Datei <path> löschen.
rmdir <path>
Fernes Verzeichnis <path> entfernen.
symlink <oldpath> <newpath>
Symbolischen Link von <oldpath> zu <newpath> erstellen.
type [binary|text]
Übertragungsmodus (bei Verbindungen zu ASCII Rechnern) auf „binär“ setzen bzw. auf „text“ zurücksetzen. Wenn kein Argument angegeben ist, wird der aktuelle Modus angezeigt (siehe auch Aufrufschalter -X binary
).
version
Protokoll-Version von sftp anzeigen.
! <command>
Kommando <command> in der lokalen Shell ausführen.
!
Lokale Sub-Shell erzeugen.
?
Hilfetext (Kurzreferenz der Kommandos) anzeigen (Synonym für help
, siehe oben).