Handbücher für die Kommandozeile

Man » sftp Manual online - detaillierte Online-Dokumentation für die sftp-Manpage

🌍
sftp — OpenSSH-sichere Dateiübertragung

SYNOPSIS

sftp  [-46AaCfNpqrv]  [-B  buffer_size]  [-b  batchfile]  [-c  cipher]  [-D  sftp_server_command]
[-F ssh_config] [-i identity_file] [-J destination] [-l limit]  [-o  ssh_option]  [-P  port]
[-R num_requests] [-S program] [-s subsystem | sftp_server] [-X sftp_option] destination

DESCRIPTION

sftp ist ein Dateiübertragungsprogramm, das ftp(1) ähnelt und alle Operationen über einen verschlüsselten ssh(1)-Transport durchführt. Es kann auch viele Funktionen von ssh verwenden, wie z. B. die öffentliche Schlüsselauthentifizierung und die Komprimierung.

Das Ziel kann entweder als [user@]host[:path] oder als URI im Format sftp://[user@]host[:port][/path] angegeben werden.

Wenn das Ziel einen Pfad enthält und es sich nicht um ein Verzeichnis handelt, ruft sftp automatisch Dateien ab, wenn eine nicht-interaktive Authentifizierungsmethode verwendet wird; andernfalls geschieht dies nach erfolgreicher interaktiver Authentifizierung.

Wenn kein Pfad angegeben ist oder der Pfad ein Verzeichnis ist, meldet sich sftp bei dem angegebenen Host an und wechselt in den interaktiven Befehlsmodus, wobei es optional in das angegebene Remote-Verzeichnis wechselt. Ein optionaler nachgestellter Schrägstrich kann verwendet werden, um zu erzwingen, dass der Pfad als Verzeichnis interpretiert wird.

Da die Zielformate Doppelpunktzeichen verwenden, um Hostnamen von Pfadnamen oder Portnummern zu trennen, müssen IPv6-Adressen in eckige Klammern eingeschlossen werden, um eine Mehrdeutigkeit zu vermeiden.

Die Optionen sind wie folgt:

-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 Remote-System. Standardmäßig wird keine
Authentifizierungs-Agent-Weiterleitung verwendet.

-a      Versucht, unterbrochene Übertragungen fortzusetzen, anstatt vorhandene, teilweise oder
vollständige Kopien von Dateien zu überschreiben. Wenn sich der teilweise Inhalt von dem zu übertragenden
unterscheidet, ist die resultierende Datei wahrscheinlich beschädigt.

-B buffer_size

Gibt die Größe des Puffers an, den sftp beim Übertragen von Dateien verwendet. Größere Puffer erfordern weniger Roundtrips bei höheren Speicherkosten. Der Standardwert ist 32768 Bytes.

-b batchfile

Der Batch-Modus liest eine Reihe von Befehlen aus einer Eingabe-Batch-Datei anstelle von stdin. Da es keine Benutzerinteraktion gibt, sollte er in Verbindung mit nicht-interaktiver Authentifizierung verwendet werden, um die Notwendigkeit zu vermeiden, bei der Verbindung ein Passwort einzugeben (siehe sshd(8) und ssh-keygen(1) für Details).

Eine Batch-Datei von „-“ kann verwendet werden, um die Standardeingabe anzugeben. sftp wird abgebrochen, wenn einer der
folgenden Befehle fehlschlägt: get, put, reget, reput, rename, ln, rm, mkdir, chdir, ls,
lchdir, copy, cp, chmod, chown, chgrp, lpwd, df, symlink und lmkdir.

Die Fehlerbehandlung für einen einzelnen Befehl kann unterdrückt werden, indem der Befehl mit einem ‘-’-Zeichen versehen wird (z. B. -rm /tmp/blah*). Die Ausgabe des Befehls kann unterdrückt werden, indem der Befehl mit einem ‘@’-Zeichen versehen wird. Diese beiden Präfixe können in beliebiger Reihenfolge kombiniert werden, z. B. -@ls /bsd.

-C  Aktiviert die Komprimierung (über das ssh-Flag -C).

-c cipher
Wählt das zu verwendende Verschlüsselungsverfahren für die Datenübertragung aus. Diese Option wird direkt an [ssh]({filename}../../ssh)(1) weitergeleitet.

-D sftp_server_command
Verbindet sich direkt mit einem lokalen sftp-Server (anstelle von [ssh]({filename}../../ssh)(1)). Es kann ein Befehl und Argumente angegeben werden, z. B. "/path/sftp-server -el debug3". Diese Option kann nützlich sein, um den Client und den Server zu debuggen.

-F ssh_config
Gibt eine alternative, benutzerspezifische Konfigurationsdatei für [ssh]({filename}../../ssh)(1) an. Diese Option wird direkt an [ssh]({filename}../../ssh)(1) weitergeleitet.

-f  Fordert an, dass Dateien unmittelbar nach der Übertragung auf die Festplatte geschrieben werden. Beim Hochladen von Dateien wird diese Funktion nur aktiviert, wenn der Server die "_" -Erweiterung implementiert.

-i identity_file
Wählt die Datei aus, aus der die Identität (privater Schlüssel) für die Public-Key-Authentifizierung gelesen wird. Diese Option wird direkt an [ssh]({filename}../../ssh)(1) weitergeleitet.

-J destination
Verbindet sich mit dem Zielhost, indem zuerst eine sftp-Verbindung zum in "destination" beschriebenen Jump-Host hergestellt und dann eine TCP-Weiterleitung vom dortigen Zielhost zum endgültigen Zielhost eingerichtet wird. Mehrere Jump-Hops können durch Kommata getrennt angegeben werden. Dies ist eine Abkürzung, um eine ProxyJump-Konfigurationsdirektive anzugeben. Diese Option wird direkt an [ssh]({filename}../../ssh)(1) weitergeleitet.

-l limit
Begrenzt die verwendete Bandbreite, angegeben in Kbit/s.

-N  Deaktiviert den Quiet-Modus, z. B. um den impliziten Quiet-Modus zu überschreiben, der durch das Flag -b festgelegt wird.

-o ssh_option
Kann verwendet werden, um Optionen an ssh im Format zu übergeben, das in ssh_config(5) verwendet wird. Dies ist nützlich, um Optionen anzugeben, für die es kein separates sftp-Befehlszeilen-Flag gibt. Um beispielsweise einen alternativen Port anzugeben, verwenden Sie: sftp -oPort=24. Für vollständige Details zu den unten aufgeführten Optionen und ihren möglichen Werten, siehe ssh_config(5).

AddKeysToAgent
AddressFamily
BatchMode
BindAddress
BindInterface
CASignatureAlgorithms
CanonicalDomains
CanonicalizeFallbackLocal
CanonicalizeHostname
CanonicalizeMaxDots
CanonicalizePermittedCNAMEs
CertificateFile
ChannelTimeout
CheckHostIP
Ciphers
ClearAllForwardings
Compression
ConnectTimeout
ConnectionAttempts
ControlMaster
ControlPath
ControlPersist
DynamicForward
EnableEscapeCommandline
EnableSSHKeysign
EscapeChar
ExitOnForwardFailure
FingerprintHash
ForkAfterAuthentication
ForwardAgent
ForwardX11
ForwardX11Timeout
ForwardX11Trusted
GSSAPIAuthentication
GSSAPIDelegateCredentials
GatewayPorts
GlobalKnownHostsFile
HashKnownHosts
Host
HostKeyAlgorithms
HostKeyAlias
HostbasedAcceptedAlgorithms
HostbasedAuthentication
Hostname
IPQoS
IdentitiesOnly
IdentityAgent
IdentityFile
IgnoreUnknown
Include
KbdInteractiveAuthentication
KbdInteractiveDevices
KexAlgorithms
KnownHostsCommand
LocalCommand
LocalForward
LogLevel
LogVerbose
MACs
NoHostAuthenticationForLocalhost
NumberOfPasswordPrompts
ObscureKeystrokeTiming
PKCS11Provider
PasswordAuthentication
PermitLocalCommand
PermitRemoteOpen
Port
PreferredAuthentications
ProxyCommand
ProxyJump
ProxyUseFdpass
PubkeyAcceptedAlgorithms
PubkeyAuthentication
RekeyLimit
RemoteCommand
RemoteForward
RequestTTY
RequiredRSASize
RevokedHostKeys
SecurityKeyProvider
SendEnv
ServerAliveCountMax
ServerAliveInterval
SessionType
SetEnv
StdinNull
StreamLocalBindMask
StreamLocalBindUnlink
StrictHostKeyChecking
SyslogFacility
TCPKeepAlive
Tag
Tunnel
TunnelDevice
UpdateHostKeys
User
UserKnownHostsFile
VerifyHostKeyDNS
VisualHostKey
XAuthLocation

-P Port

Gibt den Port an, mit dem auf dem Remote-Host eine Verbindung hergestellt werden soll.

-p      Behält die Änderungs-, Zugriffszeiten und Modi der ursprünglichen übertragenen Dateien bei.

-q      Leiser Modus: deaktiviert den Fortschrittsbalken sowie Warn- und Diagnosemeldungen von

ssh(1).

-R num_requests

Gibt an, wie viele Anfragen gleichzeitig ausstehen dürfen. Das Erhöhen dieser Zahl kann die Dateiverfolgungsgeschwindigkeit geringfügig verbessern, erhöht aber auch den Speicherverbrauch. Der Standardwert ist 64 ausstehende Anfragen.

-r      Kopiert bei Uploads und Downloads rekursiv ganze Verzeichnisse. Beachten Sie, dass sftp keine symbolischen Links verfolgt, auf die während der Baumtraversierung gestoßen wird.

-S program

Name des Programms, das für die verschlüsselte Verbindung verwendet werden soll. 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 Remote-Host an. Ein Pfad ist nützlich, wenn der Remote-sshd(8) kein sftp-Subsystem konfiguriert hat.

-v      Erhöht die Protokollierungsstufe. Diese Option wird auch an ssh weitergeleitet.

-X sftp_option

Gibt eine Option an, die Aspekte des SFTP-Protokollverhaltens steuert. Die gültigen Optionen sind:

nrequests=value

Steuert, wie viele gleichzeitige SFTP-Lese- oder Schreibanforderungen zu einem beliebigen Zeitpunkt während eines Downloads oder Uploads aktiv sein dürfen. Standardmäßig können 64 Anfragen gleichzeitig aktiv sein.

buffer=value

Steuert die maximale Puffergröße für einen einzelnen SFTP-Lese-/Schreibvorgang, der während des Downloads oder Uploads verwendet wird. Standardmäßig wird ein 32-KB-Puffer verwendet.

INTERAKTIVE BEFEHLE

Sobald sich der Benutzer im interaktiven Modus befindet, versteht sftp eine Reihe von Befehlen, die denen von ftp(1) ähneln. Befehle sind nicht zwischen Groß- und Kleinschreibung zu unterscheiden. Pfadnamen, die Leerzeichen enthalten, müssen in Anführungszeichen eingeschlossen werden. Alle Sonderzeichen in Pfadnamen, die von glob(3) erkannt werden, müssen mit umgekehrten Schrägstrichen (‘\’) maskiert werden.

bye     Beendet sftp.

cd [path]

Ändert das Remote-Verzeichnis in Pfad. Wenn Pfad nicht angegeben ist, wird das Verzeichnis in das Verzeichnis geändert, in dem die Sitzung gestartet wurde.


chgrp [-h] grp Pfad

Ändert die Gruppe der Datei Pfad in grp. Pfad kann Glob(7)-Zeichen enthalten und kann mit mehreren Dateien übereinstimmen. grp muss eine numerische GID sein.

Wenn die Option -h angegeben wird, werden symbolische Links nicht aufgelöst. Beachten Sie, dass dies nur von Servern unterstützt wird, die die "_" Erweiterung implementieren.

chmod [-h] Modus Pfad

Ändert die Berechtigungen der Datei Pfad in Modus. Pfad kann Glob(7)-Zeichen enthalten und kann mit mehreren Dateien übereinstimmen.

Wenn die Option -h angegeben wird, werden symbolische Links nicht aufgelöst. Beachten Sie, dass dies nur von Servern unterstützt wird, die die "_" Erweiterung implementieren.

chown [-h] Benutzer Pfad

Ändert den Besitzer der Datei Pfad in Benutzer. Pfad kann Glob(7)-Zeichen enthalten und kann mit mehreren Dateien übereinstimmen. Benutzer muss eine numerische UID sein.

Wenn die Option -h angegeben wird, werden symbolische Links nicht aufgelöst. Beachten Sie, dass dies nur von Servern unterstützt wird, die die "_" Erweiterung implementieren.

copy alterPfad neuerPfad

Kopiert die Remote-Datei von alterPfad nach neuerPfad.

Beachten Sie, dass dies nur von Servern unterstützt wird, die die "copy-data" Erweiterung implementieren.

cp alterPfad neuerPfad

Alias für den Befehl copy.

df [-hi] [Pfad]

Zeigt Nutzungsinformationen für das Dateisystem an, das das aktuelle Verzeichnis enthält (oder Pfad, falls angegeben). Wenn die Option -h angegeben wird, werden die Kapazitätsinformationen mit "lesbaren" Suffixen angezeigt. Die Option -i fordert die Anzeige von Inode-Informationen zusätzlich zu Kapazitätsinformationen an. Dieser Befehl wird nur von Servern unterstützt, die die "_" Erweiterung implementieren.

exit Beendet sftp.

get [-afpR] Remote-Pfad [lokalerPfad]

Ruft den Remote-Pfad ab und speichert ihn auf dem lokalen Rechner. Wenn der lokale Pfadname nicht angegeben wird, erhält er den gleichen Namen wie auf dem Remote-Rechner. Remote-Pfad kann Glob(7)-Zeichen enthalten und kann mit mehreren Dateien übereinstimmen. Wenn dies der Fall ist und lokalerPfad angegeben ist, muss lokalerPfad ein Verzeichnis angeben.

Wenn die Option -a angegeben wird, wird versucht, unvollständige Übertragungen vorhandener Dateien fortzusetzen. Beachten Sie, dass die Fortsetzung davon ausgeht, dass eine teilweise Kopie der lokalen Datei mit der Remote-Kopie übereinstimmt. Wenn sich der Inhalt der Remote-Datei von der partiellen lokalen Kopie unterscheidet, ist die resultierende Datei wahrscheinlich beschädigt.

Wenn die Option -f angegeben wird, wird nach Abschluss der Dateiübertragung fsync(2) aufgerufen, um die Datei auf die Festplatte zu schreiben.

Wenn die Option -p angegeben wird, werden auch vollständige Dateiberechtigungen und Zugriffszeiten kopiert.

Wenn die Option -R angegeben wird, werden Verzeichnisse rekursiv kopiert. Beachten Sie, dass sftp beim Ausführen rekursiver Übertragungen keine symbolischen Links verfolgt.

help Zeigt Hilfetext an.

lcd [Pfad]

Ändert das lokale Verzeichnis in Pfad. Wenn Pfad nicht angegeben ist, wird das Verzeichnis in das lokale Home-Verzeichnis des Benutzers geändert.

lls [ls-Optionen [Pfad]]

Zeigt die lokale Verzeichnisliste entweder von Pfad oder vom aktuellen Verzeichnis an, wenn Pfad nicht angegeben ist. ls-Optionen können alle Flags enthalten, die vom lokalen ls(1)-Befehl unterstützt werden. Pfad kann Glob(7)-Zeichen enthalten und kann mit mehreren Dateien übereinstimmen.


lmkdir Pfad

Erstellt ein lokales Verzeichnis, das durch Pfad angegeben wird.

ln [-s] alterPfad neuerPfad

Erstellt einen Link von alterPfad zu neuerPfad. Wenn die -s-Flagge angegeben ist, ist der erstellte Link ein symbolischer Link, andernfalls handelt es sich um einen Hardlink.

lpwd    Zeigt das lokale Arbeitsverzeichnis an.

ls [-1afhlnrSt] [Pfad]

Zeigt eine Remote-Verzeichnisliste von Pfad oder dem aktuellen Verzeichnis an, wenn kein Pfad angegeben ist. Pfad kann Glob(7)-Zeichen enthalten und kann mit mehreren Dateien übereinstimmen.

Die folgenden Flags werden erkannt und verändern das Verhalten von ls entsprechend:

-1      Erzeugt eine einzelne spaltenförmige Ausgabe.

-a      Listet Dateien auf, die mit einem Punkt („.“) beginnen.

-f      Sortiert die Liste nicht. Die Standardsortierreihenfolge ist lexikografisch.

-h      Wenn zusammen mit einer Langformatoption verwendet, werden Einheiten-Suffixe verwendet: Byte, Kilobyte, Megabyte,

Gigabyte, Terabyte, Petabyte und Exabyte, um die Anzahl der Ziffern auf vier oder weniger mit Zweierpotenzen für Größen zu reduzieren (K=1024, M=1048576 usw.).

-l      Zeigt zusätzliche Details an, einschließlich Berechtigungs- und Besitzinformationen.

-n      Erzeugt eine lange Liste mit numerisch dargestellten Benutzer- und Gruppeninformationen.

-r      Kehrt die Sortierreihenfolge der Liste um.

-S      Sortiert die Liste nach Dateigröße.

-t      Sortiert die Liste nach der letzten Änderungszeit.

lumask umask

Setzt die lokale umask auf umask.

mkdir Pfad

Erstellt ein Remote-Verzeichnis, das durch Pfad angegeben wird.

progress

Schaltet die Anzeige des Fortschrittsbalkens ein/aus.

put [-afpR] lokalerPfad [Remote-Pfad]

Lädt lokalerPfad hoch und speichert ihn auf der Remote-Maschine. Wenn der Remote-Pfadname nicht angegeben ist, erhält er denselben Namen wie auf der lokalen Maschine. lokalerPfad kann Glob(7)-Zeichen enthalten und kann mit mehreren Dateien übereinstimmen. Wenn dies der Fall ist und Remote-Pfad angegeben ist, muss Remote-Pfad ein Verzeichnis angeben.

Wenn die -a-Flagge angegeben ist, wird versucht, unvollständige Übertragungen vorhandener Dateien fortzusetzen. Beachten Sie, dass die Wiederaufnahme davon ausgeht, dass jede teilweise Kopie der Remote-Datei mit der lokalen Kopie übereinstimmt. Wenn sich der Inhalt der lokalen Datei von der lokalen Kopie auf der Remote-Maschine unterscheidet, ist die resultierende Datei wahrscheinlich beschädigt.

Wenn die -f-Flagge angegeben ist, wird eine Anforderung an den Server gesendet, um nach der Dateiübertragung fsync(2) aufzurufen. Beachten Sie, dass dies nur von Servern unterstützt wird, die die „_“-Erweiterung implementieren.

Wenn die -p-Flagge angegeben ist, werden auch vollständige Dateiberechtigungen und Zugriffszeiten kopiert.

Wenn die -R-Flagge angegeben ist, werden Verzeichnisse rekursiv kopiert. Beachten Sie, dass sftp bei rekursiven Übertragungen symbolischen Links nicht folgt.

pwd     Zeigt das Remote-Arbeitsverzeichnis an.

quit    Beendet sftp.

reget [-fpR] Remote-Pfad [Lokaler-Pfad]

Setzt den Download von Remote-Pfad fort. Entspricht get mit der gesetzten -a-Flagge.

reput [-fpR] lokalerPfad [Remote-Pfad]

Setzt den Upload von lokalerPfad fort. Entspricht put mit der gesetzten -a-Flagge.


rename oldpath newpath

Benennt eine Remote-Datei von oldpath in newpath um.

rm path

Löscht die angegebene Remote-Datei.

rmdir path

Entfernt das angegebene Remote-Verzeichnis.

symlink oldpath newpath

Erstellt einen symbolischen Link von oldpath nach newpath.

version

Zeigt die SFTP-Protokollversion an.

!command

Führt einen Befehl in der lokalen Shell aus.

!       Wechselt zur lokalen Shell.

?       Synonym 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 und S. Lehtinen, SSH File Transfer Protocol, draft-ietf-secsh-filexfer-00.txt, Januar
2001, Entwurfsmaterial.