sftp
topic kurze Beschreibung
Beschreibung
Installation
Syntax
Parameter
Optionen
Umgebungsvariablen
Rückgabewert
Konfiguration
Dateien
Anwendung
Sicherheit
Dokumentation
RFC
Man-Pages
Info-Pages
Siehe auch
Links
Projekt-Homepage
Weblinks
TMP
sftp
Die andere Möglichkeit des Dateitransfers lautet sftp.
- Das funktioniert genau so wie der normale Kommandozeilen-FTP-Client:
sftp server
Connecting to server... user@server's password: sftp> pwd Remote working directory: /export/home/user sftp> dir [...] wichtige_datei.txt [...] sftp> get wichtige_datei.txt Fetching /export/home/user/wichtige_datei.txt to wichtige_datei.txt /export/home/user/wichtige_datei.txt 100% 62KB 62.2KB/s 00:00 sftp> quit
Mit dem Befehl help bekommt man eine Übersicht über die möglichen Kommandos.
SSH File Transfer Protocol
- Das SSH File Transfer Protocol oder Secure File Transfer Protocol (SFTP) ist eine für die Secure Shell (SSH) entworfene Alternative zum File Transfer Protocol (FTP), die Kryptografie ermöglicht.
- Im Unterschied zum FTP über TLS (FTPS) begnügt sich SFTP mit einer einzigen Verbindung zwischen Client und Server.
- Obwohl das Protokoll SFTP im Kontext des SSH-2-Protokolls beschrieben wird, könnte es auch mit anderen Verfahren zur Authentifizierung und Kryptografie umgesetzt werden.
$ sftp root@192.168.1.119 passwort : sftp >>
Befehle
Befehl | Beschreibung |
---|---|
cd path | Change remote directory to 'path' |
chgrp grp path | Change group of file 'path' to 'grp' |
chmod mode path | Change permissions of file 'path' to 'mode' |
chown own path | Change owner of file 'path' to 'own' |
df [-hi] [path] | Display statistics for current directory or filesystem containing 'path' |
exit | Quit sftp |
get [-afPpRr] remote [local] | Download file |
reget [-fPpRr] remote [local] | Resume download file |
reput [-fPpRr] [local] remote | Resume upload file |
help | Display this help text |
lcd path | Change local directory to 'path' |
lls [ls-options [path]] | Display local directory listing |
lmkdir path | Create local directory |
ln [-s] oldpath newpath | Link remote file (-s for symlink) |
lpwd | Print local working directory |
ls [-1afhlnrSt] [path] | Display remote directory listing |
lumask umask | Set local umask to 'umask' |
mkdir path | Create remote directory |
progress | Toggle display of progress meter |
put [-afPpRr] local [remote] | Upload file |
pwd | Display remote working directory |
quit | Quit sftp |
rename oldpath newpath | Rename remote file |
rm path | Delete remote file |
rmdir path | Remove remote directory |
symlink oldpath newpath | Symlink remote file |
version | Show SFTP version |
!command | Execute 'command' in local shell |
! | Escape to loc |
Manpage
BEZEICHNUNG
sftp — Sichere Dateiübertragung mit OpenSSH
ÜBERSICHT
sftp [-46AaCfNpqrv] [-B Puffergröße] [-b Stapeldatei] [-c Chiffre] [-D SFTP-Server-Pfad] [-F SSH-Konfiguration] [-i Identitätsdatei] [-J Ziel] [-l Begrenzung] [-o SSH-Option] [-P Port] [-R Anzahl_der_Anfragen] [-S Program] [-s Subsystem | SFTP-Server] Ziel
BESCHREIBUNG
sftp ist ein Dateiübertragungsprogramm ähnlich ftp(1), das alle Aktionen über einen verschlüsselten ssh(1) -Transport abwickelt. Es kann auch viele Funktionalitäten von SSH verwenden, wie asymmetrische Authentifizierung und Komprimierung.
Das Ziel kann entweder als [Benutzer@]Rechner[:Pfad] oder als eine URI in der Form sftp://[Benutzer@]Rechner[:Port][/Pfad] angegeben werden.
Falls das Ziel einen Pfad enthält, der kein Verzeichnis ist, wird sftp Dateien automatisch abfragen, falls eine nichtinteraktive Authentifizierungsme‐ thode verwandt wird; andernfalls wird es dies nach einer erfolgreichen interaktiven Authentifizierung durchführen.
Falls kein Pfad angegeben wurde oder falls Pfad ein Verzeichnis ist, wird sich sftp an dem angegebenen Rechner anmelden und in den interaktiven Modus wechseln. Dabei wird, falls ein fernes Verzeichnis angegeben wurde, in dieses gewechselt. Ein optionaler abschließender Schrägstrich kann dazu verwandt werden, dass Pfad auf jeden Fall als ein Verzeichnis interpretiert wird.
Da die Zielformate Doppelpunkte zur Abtrennung der Rechnernamen von den Pfadnamen oder Port-Nummern verwendet, müssen IPv6-Adressen in eckige Klammern eingeschlossen werden, um Mehrdeutigkeiten zu vermeiden.
Folgende Optionen stehen zur Verfügung:
-4 Erzwingt, dass sftp nur IPv4-Adressen verwendet.
-6 Erzwingt, dass sftp nur IPv6-Adressen verwendet.
-A Erlaubt die Weiterleitung von ssh-agent(1) an das ferne System. Standardmäßig wird der Authentifizierungsvermittler nicht weitergeleitet.
-a Versucht, unterbrochene Übertragungen fortzufahren, anstatt bestehende (unvollständige oder komplette) Dateikopien zu überschreiben. Falls der unvollständige Inhalt sich von dem zu übertragenden unterscheidet, dann wird die daraus entstehende Datei wahrscheinlich beschädigt sein.
-B Puffergröße Gibt die Puffergröße an, die sftp bei der Übertragung von Dateien verwendet. Größere Puffer benötigen weniger Rundläufe auf Kosten von höherem Speicherverbrauch. Die Vorgabe ist 32768 Byte.
-b Stapeldatei Der Stapelverarbeitungsmodus liest eine Reihe von Befehlen aus der Eingabe- Stapeldatei statt von stdin. Da dabei keine Benutzerinteraktion stattfinden kann, sollte er im Zusammenhang mit nicht interaktiver Authentifizierung verwandt werden, um zu vermeiden, dass der Benutzer zum Verbindungszeitpunkt ein Passwort eingeben muss (siehe sshd(8) und ssh-keygen(1) für Details).
Eine Stapeldatei kann als »-« angegeben werden, um die Standardeingabe anzuzeigen. sftp wird abbrechen, falls einer der folgenden Befehle fehl‐ schlagen wird: get, put, reget, reput, rename, ln, rm, mkdir, chdir, ls, lchdir, copy, cp, chmod, chown, chgrp, lpwd, df, symlink und lmkdir.
Der Abbruch im Fehlerfall kann für jeden einzelnen Befehl unterdrückt werden, indem dem Befehl das Zeichen »-« vorangestellt wird (beispiels‐ weise -rm /tmp/blah*). Die Ausgabe der Befehle kann unterdrückt werden, indem dem Befehl das Zeichen »@« vorangestellt wird. Diese zwei Präfixe können in beliebiger Reihenfolge kombiniert werden, beispielsweise -@ls /bsd.
-C Aktiviert Komprimierung (mittels des Schalters -C von SSH).
-c Chiffre Wählt die für die Kryptografie des Datentransfers zu verwendende Chiffre aus. Diese Option wird direkt an ssh(1) übergeben.
-D SFTP-Server-Pfad Verbindet direkt zu einem lokalen SFTP-Server (statt mittels ssh(1)). Diese Option kann zur Fehlersuche im Client und Server nützlich sein.
-F SSH-Konfiguration Gibt eine alternative, benutzerbezogene Konfigurationsdatei für ssh(1) an. Diese Option wird direkt an ssh(1) übergeben.
-f Fordert, dass Dateien nach der Übertragung direkt auf Platte geschrieben werden. Beim Hochladen von Dateien wird diese Funktionalität nur akti‐ viert, falls der Server die Erweiterung »fsync@openssh.com« implementiert.
-i Identitätsdatei Wählt die Datei, aus der die Identität (privater Schlüssel) für asymmetrische Authentifizierung gelesen wird. Diese Option wird direkt an ssh(1) übergeben.
-J Ziel Verbindet sich mit dem Zielrechner, indem sftp zuerst eine Verbindung zu dem in Ziel beschriebenen Sprungrechner macht und dann von dort aus eine TCP-Weiterleitung zum dem endgültigen Ziel vornimmt. Es können, durch Kommata getrennt, mehrere Sprungrechner angegeben werden. Dies ist eine Kurzform der Angabe einer Konfigurationsanweisung ProxyJump. Diese Option wird direkt an ssh(1) weitergegeben.
-l Begrenzung Begrenzt die Bandbreite, angegeben in kBit/s.
-N Deaktiviert den stillen Modus, z. B. setzt es den impliziten stillen Modus, der durch den Schalter -b gesetzt wird, außer Kraft.
-o SSH-Option Kann zur Übergabe von Optionen an ssh in dem von ssh_config(5) verwandten Format benutzt werden. Dies ist nützlich, um Optionen anzugeben, für die es keinen separaten Befehlszeilenschalter für sftp gibt. Beispielsweise zur Angabe eines anderen Ports verwenden Sie: sftp -oPort=24. Für vollständige Details der nachfolgend aufgeführten Optionen und ihren möglichen Werten lesen Sie ssh_config(5).
AddressFamily BatchMode BindAddress BindInterface CanonicalDomains CanonicalizeFallbackLocal CanonicalizeHostname CanonicalizeMaxDots CanonicalizePermittedCNAMEs CASignatureAlgorithms CertificateFile CheckHostIP Ciphers Compression ConnectionAttempts ConnectTimeout ControlMaster ControlPath ControlPersist GlobalKnownHostsFile GSSAPIAuthentication GSSAPIDelegateCredentials HashKnownHosts Host HostbasedAcceptedAlgorithms HostbasedAuthentication HostKeyAlgorithms HostKeyAlias Hostname IdentitiesOnly IdentityAgent IdentityFile IPQoS KbdInteractiveAuthentication KbdInteractiveDevices KexAlgorithms KnownHostsCommand LogLevel MACs NoHostAuthenticationForLocalhost NumberOfPasswordPrompts PasswordAuthentication PKCS11Provider Port PreferredAuthentications ProxyCommand ProxyJump PubkeyAcceptedAlgorithms PubkeyAuthentication RekeyLimit SendEnv ServerAliveInterval ServerAliveCountMax SetEnv StrictHostKeyChecking TCPKeepAlive UpdateHostKeys User UserKnownHostsFile VerifyHostKeyDNS
-P Port Gibt den Port an, an dem am fernen Rechner verbunden werden soll.
-p Erhält Veränderungszeit, Zugriffszeit und Modi aus den ursprünglich übertragenen Dateien.
-q Stiller Modus: Deaktiviert die Fortschrittsanzeige sowie alle Warnungen und Prüfmeldungen von ssh(1).
-R Anzahl_der_Anfragen Gibt an, wie viele Anfragen gleichzeitig wartend sein können. Durch Erhöhung dieses Wertes wird die Dateiübertragungsgeschwindigkeit leicht verbessert, aber auch der Speicherverbrauch erhöht. Die Vorgabe sind 64 wartende Anfragen.
-r Kopiert beim Hoch- oder Runterladen rekursiv gesamte Verzeichnisse. Beachten Sie, dass sftp beim Verzeichnisdurchlauf angetroffenen symboli‐ schen Links nicht folgt.
-S Programm Name des für verschlüsselte Verbindungen zu verwendenden Programms. Das Programm muss ssh(1) -Optionen verstehen.
-s Subsystem | SFTP-Server Gibt das SSH2-Subsystem oder den Pfad für einen SFTP-Server auf dem fernen Rechner an. Ein Pfad ist nützlich, wenn der ferne sshd(8) über kein konfiguriertes SFTP-Subsystem verfügt.
-v Erhöht die Protokollierungsstufe. Diese Option wird auch an SSH weitergegeben.
INTERAKTIVE BEFEHLE
Sobald es im interaktiven Modus ist, versteht sftp eine Reihe von Befehlen, die ähnlich denen von ftp(1) sind. Groß-/Kleinschreibung ist bei den Befeh‐ len wichtig. Pfadnamen, die Leerzeichen enthalten, müssen in englischen Anführungszeichen eingeschlossen werden. Sämtliche Sonderzeichen, die innerhalb von Pfadnamen enthalten sind und von glob(3) erkannt werden, müssen mit Rückwärtsschrägstrichen (‘\’) maskiert werden.
bye Beendet sftp.
cd [Pfad] Ändert das ferne Verzeichnis auf Pfad. Falls Pfad nicht angegeben ist, dann wird das Verzeichnis auf jenes geändert, unter dem die Sitzung ge‐ startet wurde.
chgrp [-h] Gruppe Pfad Ändert die Gruppe der Datei Pfad auf Gruppe. Pfad darf glob(7) -Zeichen enthalten und kann auf mehrere Dateien passen. Gruppe muss eine numeri‐ sche GID sein.
Falls der Schalter -h angegeben ist, dann wird Symlinks nicht gefolgt. Beachten Sie, dass dies nur bei Servern unterstützt wird, die die Erwei‐ terung »lsetstat@openssh.com« implementieren.
chmod [-h] Modus Pfad Ändert die Berechtigungen von Datei Pfad auf Modus. Pfad darf glob(7) -Zeichen enthalten und kann auf mehrere Dateien passen.
Falls der Schalter -h angegeben ist, dann wird Symlinks nicht gefolgt. Beachten Sie, dass dies nur bei Servern unterstützt wird, die die Erwei‐ terung »lsetstat@openssh.com« implementieren.
chown [-h] Eigentümer Pfad Ändert den Eigentümer der Datei Pfad auf Eigentümer. Pfad kann glob(7) -Zeichen enthalten und kann auf mehrere Dateien passen. Eigentümer muss eine numerische UID sein.
Falls der Schalter -h angegeben ist, dann wird Symlinks nicht gefolgt. Beachten Sie, dass dies nur bei Servern unterstützt wird, die die Erwei‐ terung »lsetstat@openssh.com« implementieren.
copy alter_Pfad neuer_Pfad Kopiert die ferne Datei von alter_Pfad nach neuer_Pfad.
Beachten Sie, dass dies nur bei Servern unterstützt wird, die die Erweiterung »copy-data« implementieren.
cp alter_Pfad neuer_Pfad Alias für den Befel copy.
df [-hi] [Pfad] Zeigt Verwendungsinformationen für das Dateisystem an, das das aktuelle Verzeichnis enthält (oder Pfad, falls angegeben). Falls der Schalter -h angegeben ist, wird die Kapazitätsinformation mittels »menschenlesbarer« Endung dargestellt. Der Schalter -i fordert zusätzlich zu den Kapazi‐ tätsinformationen die Anzeige von Inode-Informationen. Dieser Befehl wird nur auf Servern unterstützt, die die Erweiterung »statvfs@openssh.com« implementieren.
exit Beendet sftp.
get [-afpR] ferner_Pfad [lokaler_Pfad] Ruft den fernen_Pfad ab und speichert ihn auf der lokalen Maschine. Falls der lokale Pfadname nicht angegeben ist, wird ihm der gleiche Name, den er auch auf der fernen Maschine hatte, gegeben. Ferner_Pfad darf glob(7) -Zeichen enthalten und kann auf mehrere Dateien passen. Falls dies der Fall ist und [lokaler_Pfad] angegeben ist, dann muss [lokaler_Pfad] ein Verzeichnis angeben.
Falls der Schalter -a angegeben ist, dann wird versucht, eine Teilübertragung von bestehenden Dateien fortzusetzen. Beachten Sie, dass das Fortfahren annimmt, dass alle Teilkopien der lokalen Dateien auf die fernen Kopien passen. Falls die Inhalte der fernen Datei sich von der lo‐ kalen Teilkopie unterscheiden, dann ist die entstehende Datei wahrscheinlich defekt.
Falls der Schalter -f angegeben ist, dann wird nach Abschluss der Dateiübertragung fsync(2) aufgerufen, um die Datei auf Platte zu schreiben.
Falls der Schalter -p angegeben ist, dann werden auch die vollständigen Dateiberechtigungen und Zugriffszeiten mit kopiert.
Falls der Schalter -R angegeben ist, dann werden Verzeichnisse rekursiv kopiert. Beachten Sie, dass sftp keinen symbolischen Links folgt, wenn rekursive Übertragungen durchgeführt werden.
help Zeigt Hilfetext an.
lcd [Pfad] Ändert das lokale Verzeichnis auf Pfad. Falls Pfad nicht angegeben ist, dann wird das Verzeichnis auf das Home-Verzeichnis des lokalen Benut‐ zers geändert.
lls [ls-Optionen [Pfad]] Zeigt eine Auflistung eines lokale Verzeichnisses von entweder Pfad oder des aktuellen Verzeichnisses an, falls Pfad nicht angegeben ist. ls-Optionen darf alle Schalter, die vom dem Befehl ls(1) des lokalen Systems unterstützt werden, enthalten. Pfad darf glob(7) -Zeichen enthal‐ ten und kann auf mehrere Dateien passen.
lmkdir Pfad Erstellt das durch Pfad angegebene lokale Verzeichnis.
ln [-s] alter_Pfad neuer_Pfad Erstellt einen Link von alter_Pfad auf neuer_Pfad. Falls der Schalter -s angegeben ist, wird ein symbolischer Link erstellt, ansonsten ein har‐ ter Link.
lpwd Gibt das lokale Arbeitsverzeichnis aus.
ls [-1afhlnrSt] [Pfad] Zeigt eine Auflistung eines fernen Verzeichnisses von entweder Pfad oder des aktuellen Verzeichnisses an, falls Pfad nicht angegeben ist. Pfad darf glob(7) -Zeichen enthalten und kann auf mehrere Dateien passen.
Die folgenden Schalter werden erkannt und verändern das Verhalten von ls entsprechend:
-1 Erzeugt eine einspaltige Ausgabe.
-a Listet Dateien auf, die mit einem Punkt (‘.’) beginnen.
-f Sortiert die Auflistung nicht. Standardmäßig erfolgt eine lexikographische Sortierung.
-h Bei der Verwendung zusammen mit langen Formatoptionen werden Einheitenendungen (in Potenzen von 2 für Größen, d.h. K=1024, M=1048576, usw.) verwandt, um die Anzahl an Ziffern auf vier oder weniger zu reduzieren: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte, Petabyte und Exabyte.
-l Zeigt zusätzliche Details, einschließlich der Berechtigungen und Eigentümerschaftsinformationen.
-n Erstellt eine lange Auflistung mit numerisch dargestellten Benutzer- und Gruppeninformationen.
-r Dreht die Sortierungsreihenfolge der Auflistung um.
-S Sortiert die Auflistung nach Dateigröße.
-t Sortiert die Auflistung nach der letzen Veränderungszeit.
lumask Umask Setzt die lokale Umask auf Umask.
mkdir Pfad Erstellt das durch Pfad angegebene ferne Verzeichnis.
progress Schaltet die Fortschrittsanzeige ein oder aus.
put [-afpR] lokaler_Pfad [ferner_Pfad] Lädt lokalen_Pfad hoch und speichert ihn auf der fernen Maschine. Falls der ferne Pfadname nicht angegeben ist, wird ihm der gleiche Name, den er auf der lokalen Maschine hatte, gegeben. Lokaler_Pfad darf glob(7) -Zeichen enthalten und auf mehrere Dateien passen. Falls dies der Fall ist und ferner_Pfad angegeben ist, dann muss ferner_Pfad ein Verzeichnis angeben.
Falls der Schalter -a angegeben ist, dann wird versucht, eine teilweise Übertragung von bestehenden Dateien fortzuführen. Beachten Sie, dass das Fortführen davon ausgeht, dass alle Teilkopien auf der fernen Maschine auf die lokale Kopie passen. Falls der Inhalt der lokalen Datei sich von dem der fernen Kopie unterscheidet, dann wird die daraus entstehende Datei wahrscheinlich beschädigt sein.
Falls nur der Schalter -f angegeben ist, dann wird an den Server eine Anfrage gesandt, nach der Übertragung der Datei fsync(2) aufzurufen. Be‐ achten Sie, dass dies nur bei Servern unterstützt wird, die die Erweiterung »fsync@openssh.com« implementieren.
Falls der Schalter -p angegeben ist, dann werden auch die vollständigen Dateiberechtigungen und Zugriffszeiten mit kopiert.
Falls der Schalter -R angegeben ist, dann werden Verzeichnisse rekursiv kopiert. Beachten Sie, dass sftp keinen symbolischen Links folgt, wenn rekursive Übertragungen durchgeführt werden.
pwd Zeigt das ferne Arbeitsverzeichnis an.
quit Beendet sftp.
reget [-fpR] ferner_Pfad [lokaler_Pfad] Fährt mit dem Herunterladen von ferner_Pfad fort. Äquivalent zu get mit gesetztem Schalter -a.
reput [-fpR] lokaler_Pfad [ferner_Pfad] Fährt mit dem Hochladen von lokaler_Pfad fort. Äquivalent zu put mit gesetztem Schalter -a.
rename alter_Pfad neuer_Pfad Benennt die ferne Datei von alter_Pfad in neuer_Pfad um.
rm Pfad Löscht ferne, durch Pfad angegebene Dateien.
rmdir Pfad Entfernt ferne, durch Pfad angegebene Verzeichnisse.
symlink alter_Pfad neuer_Pfad Erstellt einen symbolischen Link von alter_Pfad nach neuer_Pfad.
version Zeigt die Protokollversion von sftp.
!Befehl Führt Befehl in einer lokalen Shell aus.
! Öffnet eine lokale Shell.
? Synonm für help
SIEHE AUCH
ftp(1), ls(1), scp(1), ssh(1), ssh-add(1), ssh-keygen(1), ssh_config(5), glob(7), sftp-server(8), sshd(8) T. Ylonen and S. Lehtinen, SSH File Transfer Protocol, draft-ietf-secsh-filexfer-00.txt, Januar 2001, in Entwicklung befindliches Material.
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3: https://www.gnu.org/licenses/gpl-3.0.html oder neuer be‐ züglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org .