SFTP-Befehlsreferenz

Jeder Befehl des OpenSSH-Clients sftp mit Syntax und Beispielen - Verbinden, Navigieren, Übertragen, Berechtigungen und Stapelverarbeitung. Funktioniert identisch unter Windows 10/11, macOS und Linux, die alle den OpenSSH-Client mitbringen.

Aktualisiert im Juli 2026

Mit einem Server verbinden

SFTP läuft über SSH (standardmäßig Port 22), daher funktionieren Authentifizierung und Hostschlüsselprüfung genau wie bei ssh. Diese Schalter stehen auf der Kommandozeile, bevor die Sitzung beginnt:

Befehl / SchalterWirkungBeispiel
sftp user@hostStartet eine interaktive SFTP-Sitzung.sftp alice@example.com
-P portVerbindet mit einem abweichenden Port (Achtung: großes P, anders als bei ssh).sftp -P 2222 alice@example.com
-i keyfileAuthentifiziert mit einem bestimmten privaten SSH-Schlüssel.sftp -i ~/.ssh/deploy_key alice@example.com
-b fileStapelbetrieb - führt Befehle aus einer Datei ohne Interaktion aus.sftp -b upload.txt alice@example.com
-rMacht get/put für die gesamte Sitzung rekursiv.sftp -r alice@example.com
sftp user@host:pfadHolt eine Datei direkt und beendet sich (keine interaktive Sitzung).sftp alice@example.com:/logs/app.log

Wird die Verbindung abgewiesen oder bleibt sie hängen, prüfen Sie den Server zuerst mit dem SFTP-Verbindungstester und sehen Sie mit dem SFTP-Authentifizierungsprüfer nach, welche Verfahren er akzeptiert.

Herunterladen und Hochladen

BefehlWirkungBeispiel
getLädt eine Datei vom Server herunter.get report.pdf
get -rLädt ein Verzeichnis mit seinem gesamten Inhalt herunter.get -r backups
putLädt eine lokale Datei auf den Server hoch.put site.zip
put -rLädt ein Verzeichnis rekursiv hoch.put -r dist
mgetLädt mehrere Dateien herunter, die einem Muster entsprechen.mget *.log
mputLädt mehrere Dateien hoch, die einem Muster entsprechen.mput *.html
regetSetzt einen teilweise heruntergeladenen Download fort.reget big-backup.tar
reputSetzt einen teilweise hochgeladenen Upload fort.reput big-backup.tar
progressSchaltet die Fortschrittsanzeige der Übertragung ein oder aus.progress

Einen Schalter ascii/binary gibt es nicht - SFTP überträgt Dateien immer Byte für Byte, sodass nichts durch die Umwandlung von Zeilenenden beschädigt wird.

Stapelbetrieb und Skripting

Für unbeaufsichtigte Übertragungen schreiben Sie die Befehle zeilenweise in eine Datei und starten sftp im Stapelbetrieb. Der Stapelbetrieb bricht beim ersten Fehler ab und setzt eine Authentifizierung per Schlüssel voraus - er kann nicht nach einem Passwort fragen:

# upload.txt
cd /var/www/site
lcd C:\Projects\site\dist
put -r .
bye
C:\> sftp -b upload.txt -i C:\keys\deploy_key deploy@example.com

Das funktioniert, doch jede wiederkehrende Aufgabe bedeutet, ein Skript, einen Schlüssel und einen Eintrag in der Aufgabenplanung zu pflegen. Wenn Sie stattdessen lieber in einer Oberfläche festlegen möchten, dass ein Ordner jede Nacht um 2:00 Uhr hochgeladen wird - mit Wiederholungen, Benachrichtigungen und Verlauf -, ist das genau die Aufgabe der geplanten Übertragungen von FTPie.

Über SFTP-Befehle

SFTP (SSH File Transfer Protocol) ist nicht FTP über SSH, sondern ein eigenständiges Protokoll auf der SSH-Verbindungsschicht, definiert in der IETF-Reihe draft-ietf-secsh-filexfer. Der Befehl sftp unter Windows, macOS und Linux ist die Client-Implementierung von OpenSSH, und deren Befehlssatz dokumentiert diese Seite. Da alles innerhalb von SSH läuft, trägt ein einziger offener Port (22) Authentifizierung, Befehle und verschlüsselte Daten - keine Portbereiche für den Passivmodus, keine TLS-Zertifikate.

Sie kommen vom klassischen FTP? Die Befehlssätze überschneiden sich, unterscheiden sich aber in wichtigen Punkten - siehe die FTP-Befehlsreferenz für ftp.exe und die Protokollbefehle aus RFC 959.

Häufige Fragen

Sind SFTP-Befehle dasselbe wie FTP-Befehle?

Nein. SFTP ist ein anderes Protokoll, das über SSH läuft, und sein Befehlssatz ist ähnlich, aber nicht identisch. Kernbefehle wie get, put, cd, ls und bye funktionieren in beiden, doch SFTP ergänzt Unix-typische Befehle wie chmod, ln und df, nutzt reget/reput zum Fortsetzen von Übertragungen und kennt keinen ascii-/binary-Modus - jede Übertragung ist binär. Befehle wie mdelete, hash oder literal aus klassischen FTP-Clients gibt es in sftp nicht.

Wie lade ich mit SFTP einen ganzen Ordner herunter oder hoch?

Verwenden Sie den Schalter -r (rekursiv): get -r projektordner lädt einen ganzen Verzeichnisbaum herunter, put -r projektordner lädt einen hoch. Das Zielverzeichnis darf noch keine kollidierenden Dateien enthalten. Sie können die Sitzung auch mit sftp -r user@host starten, dann sind Übertragungen standardmäßig rekursiv.

Wie setze ich eine unterbrochene SFTP-Übertragung fort?

Mit reget dateiname setzen Sie einen teilweise heruntergeladenen Download fort, mit reput dateiname einen Upload. Die unvollständige Datei muss auf der empfangenden Seite noch vorhanden sein; sftp macht dann dort weiter, wo es aufgehört hat, statt von vorn zu beginnen.

Bringt Windows einen eigenen SFTP-Befehl mit?

Ja. Windows 10 (ab 1809) und Windows 11 liefern den OpenSSH-Client mit, Sie können also sftp user@host direkt in der Eingabeaufforderung oder in PowerShell ausführen - ganz ohne Zusatzsoftware. Die Befehle auf dieser Seite funktionieren unter Windows, macOS und Linux gleichermaßen.

Wie skripte oder automatisiere ich SFTP-Übertragungen?

Schreiben Sie einen Befehl pro Zeile in eine Textdatei und führen Sie sftp -b batch.txt user@host aus. Der Stapelbetrieb setzt eine nicht-interaktive Authentifizierung voraus, praktisch also, dass Sie zuvor eine SSH-Schlüsselanmeldung eingerichtet haben. Für wiederkehrende Aufgaben - geplante Uploads, Sicherungen, Abgleiche - erspart Ihnen ein Client mit eingebautem Zeitplaner die Pflege von Skripten und Einträgen in der Aufgabenplanung.

Lieber ein grafischer SFTP-Client?

FTPie ist ein moderner SFTP-Client für Windows mit Authentifizierung per SSH-Schlüssel, Hostschlüsselprüfung, rekursiven Übertragungen per Drag-and-drop und einem eingebauten Zeitplaner - kostenlos für bis zu 3 Serververbindungen.

FTPie kostenlos herunterladen