SFTP und SCP: Sichere Dateiübertragung
Vergleichen Sie SFTP und SCP mit unsicherem FTP und verstehen Sie, welchen kryptografischen Schutz sie bieten.
SFTP und SCP: Sichere Dateiübertragung ist eine kostenlose Cryptology Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cryptology Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.
SFTP ist ein SSH-Subsystem, nicht FTP
Trotz seines Namens hat SFTP (SSH File Transfer Protocol) nichts mit FTP zu tun. Es ist ein binäres Protokoll, das für die Ausführung als SSH-2-Subsystem entwickelt wurde, d. h., es arbeitet über eine bereits authentifizierte und verschlüsselte SSH-Verbindung. Der SSH-Client ruft das SFTP-Subsystem auf dem Server mit dem Befehl ssh user@host -s sftp auf. Alle SFTP-Operationen übernehmen die Sicherheitsgarantien des zugrunde liegenden SSH-Transports.
SFTP-Funktionen
SFTP bietet über den verschlüsselten Kanal eine umfangreiche Auswahl an Dateioperationen: Verzeichnisinhalte auflisten, Dateien hochladen, Dateien herunterladen, Dateien löschen und umbenennen, Verzeichnisse erstellen und entfernen, Dateiberechtigungen und Zeitstempel lesen und setzen sowie unterbrochene Übertragungen fortsetzen. Diese Funktionen machen SFTP zu einer vollständigen Schnittstelle für ein entferntes Dateisystem und nicht nur zu einem Dateiübertragungswerkzeug.
SCP: Einfachere Dateikopie über SSH
SCP (Secure Copy Protocol) ist ein älteres, einfacheres Protokoll zur Dateiübertragung über SSH. Der Befehl scp file.txt user@host:/path kopiert eine Datei sicher. SCP ist für einmalige Übertragungen einfacher zu verwenden als SFTP, unterstützt aber nur eine Teilmenge der Operationen: Kopieren vom lokalen auf den entfernten Rechner, vom entfernten auf den lokalen Rechner oder von einem entfernten auf einen anderen entfernten Rechner. Es gibt keinen interaktiven Modus und nur eingeschränkte Unterstützung für das Fortsetzen unterbrochener Übertragungen.
SCP-Protokollschwachstellen
Das ursprüngliche SCP-Protokoll wies eine erhebliche Schwachstelle auf: Ein böswilliger Server konnte dem Client beliebige Dateien senden, unabhängig davon, was der Client angefordert hatte. Ein Angreifer mit Kontrolle über den Server konnte Dateien außerhalb des vorgesehenen Zielverzeichnisses überschreiben. OpenSSH hat das veraltete SCP-Protokoll in OpenSSH 9.0 (2022) zugunsten eines auf SFTP basierenden scp als veraltet eingestuft. Moderne scp-Befehle verwenden darunter SFTP und beseitigen diese Angriffsklasse, während sie die vertraute Befehlssyntax beibehalten.
FTP, FTPS und SFTP im Vergleich
Drei sichere Optionen zur Dateiübertragung werden häufig verwechselt. FTP (Port 21) ist unverschlüsselt und sollte nicht verwendet werden. FTPS (FTP über SSL) ergänzt FTP auf Port 990 (implizit) oder Port 21 (explizit mit AUTH TLS) um TLS und erfordert die FTP-Infrastruktur sowie die Zertifikatsverwaltung. SFTP ist ein vollständig separates Protokoll über SSH (Port 22), das die vorhandene SSH-Authentifizierung und Schlüsselverwaltung wiederverwendet. SFTP lässt sich im Allgemeinen einfacher als FTPS konfigurieren und warten.
rsync über SSH für effiziente Synchronisierung
rsync ist ein Tool zur Dateisynchronisierung, das nur die geänderten Teile von Dateien überträgt und dadurch bei inkrementellen Sicherungen deutlich effizienter als SCP ist. Wird rsync mit dem Flag -e ssh ausgeführt, werden alle Daten durch einen SSH-Tunnel geleitet. Der Befehl rsync -avz -e ssh user@host:/remote/ /local/ synchronisiert ein entferntes Verzeichnis mit einem lokalen Verzeichnis und überträgt dabei nur die Deltas. rsync über SSH ist der Standardansatz für Serversicherungen und Deployment-Workflows.
Umgang mit großen Dateiübertragungen
SFTP unterstützt fortsetzbare Übertragungen: Wenn eine Verbindung während des Hochladens einer großen Datei abbricht, kann die Übertragung ab dem zuletzt bestätigten Byte fortgesetzt werden, anstatt bei null neu zu beginnen. Der sftp-Client von OpenSSH unterstützt den Befehl reput zum Fortsetzen von Uploads und reget zum Fortsetzen von Downloads. Für sehr große Übertragungen mit Dateien im Multi-Gigabyte-Bereich bieten Tools wie lftp eine robustere Übertragungsverwaltung mit automatischen Wiederholungsversuchen und Bandbreitendrosselung.
SFTP-Chroot-Jails für eingeschränkten Zugriff
Der OpenSSH-Server kann SFTP-Benutzer mithilfe einer Chroot-Jail auf einen bestimmten Verzeichnisbaum beschränken. Wenn Sie die Direktive Match User zusammen mit ChrootDirectory und ForceCommand internal-sftp zur SSH-Konfiguration hinzufügen, wird eine isolierte SFTP-Umgebung erstellt. Der Benutzer kann innerhalb des zugewiesenen Verzeichnisses Dateien hoch- und herunterladen, aber nicht auf den restlichen Dateisysteminhalt zugreifen oder Shell-Befehle ausführen. Dies wird häufig für die Dateiverwaltung beim Webhosting und für Upload-Portale von Kunden verwendet.
Konfigurieren eines SFTP-Servers
Um SFTP auf einem OpenSSH-Server zu aktivieren, müssen Sie Subsystem sftp /usr/lib/openssh/sftp-server zu sshd_config hinzufügen. Die Binärdatei sftp-server verarbeitet alle Operationen des SFTP-Protokolls. Bei Chroot-Konfigurationen muss ChrootDirectory root gehören und darf für keinen anderen Benutzer beschreibbar sein – dies ist eine häufige Ursache für Konfigurationsfehler. Mit sshd -t können Sie die Konfiguration auf Syntaxfehler prüfen, bevor Sie den Dienst neu laden.
SFTP für automatisierte Sicherungs-Workflows
SFTP lässt sich gut in automatisierte Backup-Pipelines integrieren. Ein Sicherungsserver verwendet die Authentifizierung mit öffentlichen Schlüsseln, um sich ohne Passwörter zu verbinden, und ermöglicht so durch cron geplante Übertragungen ohne menschliches Eingreifen. Der Sicherungsbenutzer wird durch Chroot auf das Upload-Verzeichnis beschränkt, wodurch der mögliche Schaden begrenzt wird, falls der Sicherungsserver jemals kompromittiert wird. Die Überwachung von Protokollen auf SFTP-Verbindungsfehler und Übertragungsfehler liefert frühzeitig Hinweise auf Probleme mit Sicherungen, bevor diese die Wiederherstellbarkeit beeinträchtigen.
SFTP-Client-Tools
Neben dem sftp-Client für die Kommandozeile unterstützen grafische Tools wie FileZilla, Cyberduck und WinSCP SFTP mit Drag-and-Drop-Oberflächen, Lesezeichenverwaltung und nebeneinander angeordneten Verzeichnisansichten. Diese Tools sind bei Entwicklern und Administratoren beliebt, die grafische Workflows bevorzugen. Alle verwenden dasselbe zugrunde liegende SFTP-Protokoll und dieselbe SSH-Authentifizierung, einschließlich der Unterstützung für SSH-Schlüsseldateien und den systemweiten SSH-Agenten.
SFTP im Vergleich zu SCP
Was war die wichtigste Sicherheitslücke im älteren SCP-Protokoll, aufgrund derer OpenSSH es durch eine auf SFTP basierende Implementierung ersetzt hat?
SFTP und SCP: Die wichtigsten Erkenntnisse
SFTP ist ein SSH-Subsystem und steht nicht mit FTP in Verbindung. Es ermöglicht vollständige Operationen am entfernten Dateisystem über eine verschlüsselte SSH-Verbindung. SCP ist einfacher, aber das ältere Protokoll enthielt eine serverseitige Pfad-Traversal-Schwachstelle, die in OpenSSH 9.0 behoben wurde, indem im Hintergrund auf SFTP umgestellt wurde. FTPS ergänzt FTP um TLS, während SFTP vollständig auf SSH basiert. rsync über SSH ermöglicht eine effiziente inkrementelle Synchronisierung. Chroot-Jails beschränken SFTP-Benutzer auf festgelegte Verzeichnisse.
Häufig gestellte Fragen
Ist die Lektion „SFTP und SCP: Sichere Dateiübertragung“ kostenlos?
Ja — der vollständige Text von „SFTP und SCP: Sichere Dateiübertragung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cryptology Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „SFTP und SCP: Sichere Dateiübertragung“?
Vergleichen Sie SFTP und SCP mit unsicherem FTP und verstehen Sie, welchen kryptografischen Schutz sie bieten. Du übst Cryptology Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Cryptology Academy zu starten?
Keine Vorkenntnisse erforderlich. Cryptology Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „SFTP und SCP: Sichere Dateiübertragung“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Cryptology Academy-Lektion Code schreiben und ausführen?
Ja. Jede Cryptology Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Was ein sicheres Protokoll ausmacht
- SSH: Fernzugriff absichern
- SFTP und SCP: Sichere Dateiübertragung
- DNSSEC: DNS-Antworten authentifizieren