sftp

Aus Foxwiki

topic kurze Beschreibung

Beschreibung

Installation

Syntax

Parameter

Optionen

Umgebungsvariablen

Exit-Status

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 .