Dateien via SSH kopieren: Vollständiger Leitfaden zu SCP, rsync und SFTP
SSH (Secure Shell) ist das Rückgrat der sicheren Remote-Serververwaltung. Egal, ob Sie ein Entwickler sind, der Code bereitstellt, ein Sysadmin, der Infrastruktur verwaltet, oder ein Power-User, der eine VPS Hosting-Umgebung pflegt – das sichere Übertragen von Dateien zwischen Maschinen ist eine Aufgabe, die Sie ständig ausführen werden.
Dieser umfassende Leitfaden behandelt alle wichtigsten Methoden zum Kopieren von Dateien über SSH – einschließlich SCP, rsync, SFTP und schlüsselbasierter Automatisierung – mit realer Syntax, praktischen Beispielen und Expertentipps, um Ihnen zu helfen, schneller und sicherer zu arbeiten.
Warum SSH für Dateiübertragungen verwenden?

Bevor wir uns den Tools zuwenden, lohnt es sich zu verstehen, warum SSH-basierte Dateiübertragung der Industriestandard für Serveradministratoren und Entwickler ist.
- End-to-End-Verschlüsselung: Jedes Byte von Daten — einschließlich Anmeldedaten, Befehle und Dateiinhalte — wird während der Übertragung mit modernen kryptografischen Algorithmen verschlüsselt. Dies macht SSH-Übertragungen immun gegen Packet Sniffing und Man-in-the-Middle-Angriffe.
- Keine zusätzliche Software erforderlich: SSH ist auf praktisch jedem Linux/Unix-System vorinstalliert und ist nativ auf Windows 10+ und macOS verfügbar.
- Vielseitigkeit: Eine einzelne SSH-Verbindung kann interaktive Shell-Sitzungen, Dateiübertragungen, Port-Weiterleitung und automatisierte Skripte verarbeiten.
- Automatisierungsfreundlich: SSH integriert sich nahtlos mit Cron-Jobs, CI/CD-Pipelines und Backup-Skripten und ermöglicht vollständig automatisierte, passwortlose Dateiübertragungen.
- Zuverlässigkeit: SSH-Verbindungen handhaben Netzwerkunterbrechungen elegant, besonders wenn sie mit Tools wie rsync kombiniert werden.
Methode 1: Dateien mit SCP (Secure Copy Protocol) kopieren

SCP ist das einfachste und am weitesten verbreitete Tool für einmalige Dateiübertragungen über SSH. Es funktioniert, indem es Ihre bestehende SSH-Verbindung nutzt, um Dateien sicher zwischen Hosts zu kopieren.
1) Grundlegende SCP-Syntax
scp [options] [source] [destination]2) Eine Datei vom lokalen Computer auf den Remote-Server hochladen
scp /path/to/local/file username@remote_host:/path/to/remote/destinationErklärung:
| /path/to/local/file | die Datei, die Sie auf Ihrem lokalen Computer übertragen möchten |
| username@remote_host | Ihr SSH-Benutzername und der Hostname oder die IP-Adresse des Servers |
| /path/to/remote/destination | das Zielverzeichnis oder der Dateipfad auf dem Remote-Server |
3) Eine Datei vom Remote-Server auf den lokalen Computer herunterladen
scp username@remote_host:/path/to/remote/file /path/to/local/destinationKehren Sie einfach Quelle und Ziel um, um eine Datei vom Server auf Ihren lokalen Computer zu ziehen.
4) Ein ganzes Verzeichnis rekursiv kopieren
scp -r /path/to/local/directory username@remote_host:/path/to/remote/destinationDas Flag -r weist SCP an, das Verzeichnis und seinen gesamten Inhalt rekursiv zu kopieren, einschließlich verschachtelter Unterverzeichnisse.
5) Nützliche SCP-Optionen
| Option | Beschreibung |
|---|---|
| -P [port] | Geben Sie einen benutzerdefinierten SSH-Port an (beachten Sie: Großbuchstabe -P, anders als SSH’s Kleinbuchstabe -p) |
| -C | Aktivieren Sie Komprimierung für schnellere Übertragungen über langsame Verbindungen |
| -i [identity_file] | Verwenden Sie einen bestimmten SSH-Privatschlüssel zur Authentifizierung |
| -l [limit] | Begrenzen Sie die Bandbreitennutzung in Kbit/s |
| -q | Stiller Modus — unterdrückt die Fortschrittsausgabe |
| -v | Ausführlicher Modus — nützlich zum Debuggen von Verbindungsproblemen |
6) Wann SCP verwendet werden sollte
SCP ist ideal für schnelle, einmalige Dateiübertragungen, bei denen Einfachheit wichtig ist. Es erfordert keine Konfiguration und funktioniert sofort auf jedem System mit installiertem SSH. Für große Verzeichnisse oder wiederholte Übertragungen ist jedoch rsync eine deutlich bessere Wahl.
Methode 2: Dateien mit rsync kopieren

rsync ist die professionelle Wahl für Dateisynchronisierung und -übertragung über SSH. Seine Killer-Funktion ist Delta-Übertragung: Anstatt ganze Dateien zu kopieren, analysiert rsync die Quelle und das Ziel und überträgt nur die geänderten Teile. Dies spart enorme Mengen an Zeit und Bandbreite beim Umgang mit großen Dateien oder Verzeichnissen, die häufig aktualisiert werden.
1) Grundlegende rsync-Syntax
rsync [options] [source] [destination]2) Eine Datei vom lokalen Computer auf den Remote-Server hochladen
rsync -avz /path/to/local/file username@remote_host:/path/to/remote/destination3) Ein ganzes Verzeichnis mit einem Remote-Server synchronisieren
rsync -avz /path/to/local/directory/ username@remote_host:/path/to/remote/destination/Wichtig: Beachten Sie den nachgestellten Schrägstrich / nach dem Quellverzeichnis. Mit einem nachgestellten Schrägstrich kopiert rsync den Inhalt des Verzeichnisses. Ohne ihn kopiert rsync das Verzeichnis selbst als Unterverzeichnis des Ziels.
4) Ein Verzeichnis spiegeln (Dateien löschen, die aus der Quelle entfernt wurden)
rsync -avz --delete /path/to/local/directory/ username@remote_host:/path/to/remote/destination/Das Flag –delete stellt sicher, dass Dateien, die aus der Quelle gelöscht wurden, auch vom Ziel entfernt werden, um beide Standorte perfekt synchron zu halten.
5) Einen benutzerdefinierten SSH-Port verwenden
rsync -avz -e "ssh -p 2222" /path/to/local/directory/ username@remote_host:/path/to/remote/destination/6) Nützliche rsync-Optionen
| Option | Beschreibung |
|---|---|
| -a | Archivmodus: behält Berechtigungen, Zeitstempel, symbolische Links und Eigentümerschaft bei |
| -v | Ausführlich: zeigt den Fortschritt Datei für Datei während der Übertragung an |
| -z | Komprimierung: reduziert die über das Netzwerk übertragenen Daten |
| –delete | Löscht Dateien am Ziel, die nicht mehr in der Quelle vorhanden sind |
| –progress | Zeigt Echtzeit-Fortschritt für jede Datei |
| –exclude | Bestimmte Dateien oder Muster ausschließen (z. B. –exclude ‘*.log’) |
| -n oder –dry-run | Simuliert die Übertragung, ohne tatsächlich etwas zu kopieren |
| -e “ssh -p [port]” | Einen benutzerdefinierten SSH-Port angeben |
| –bwlimit=[KB/s] | Übertragungsgeschwindigkeit drosseln, um Ihre Verbindung nicht zu überlasten |
7) Wann rsync verwendet werden sollte
Verwenden Sie rsync für Sicherungen, Bereitstellungen und alle wiederkehrenden Synchronisierungsaufgaben. Es ist besonders leistungsstark bei der Verwaltung großer Codebasen, Medienbibliotheken oder Datenbankexporte auf einem Dedicated Server, wo Bandbreiteneffizienz und Datenintegrität kritisch sind.
Methode 3: Dateien zwischen zwei Remote-Servern kopieren

Eine weniger bekannte, aber äußerst nützliche Funktion von SCP und rsync ist die Möglichkeit, Dateien direkt zwischen zwei Remote-Servern zu übertragen — ohne die Daten über Ihren lokalen Computer zu leiten. Dies ist unbezahlbar bei der Migration von Servern oder der Synchronisierung von Daten zwischen Cloud-Instanzen.
1) Dateien zwischen zwei Remote-Servern mit SCP kopieren
scp username1@remote_host1:/path/to/file username2@remote_host2:/path/to/destination2) Dateien zwischen zwei Remote-Servern mit rsync kopieren
rsync -avz username1@remote_host1:/path/to/source/ username2@remote_host2:/path/to/destination/Hinweis: Damit Server-zu-Server-Übertragungen funktionieren, muss der Quellserver eine SSH-Verbindung zum Zielserver herstellen können. Möglicherweise müssen Sie SSH-Schlüssel auf dem Quellserver konfigurieren oder SSH-Agent-Forwarding (ssh -A) verwenden.
3) Server-zu-Server-Übertragung über SSH-Tunneling (Alternative Methode)
Wenn direkte Server-zu-Server-SSH aufgrund von Firewall-Einschränkungen nicht möglich ist, können Sie die Übertragung mit tar und ssh über Ihren lokalen Computer leiten:
ssh username1@remote_host1 "tar czf - /path/to/source" | ssh username2@remote_host2 "tar xzf - -C /path/to/destination"Dies streamt ein komprimiertes Archiv von Server 1 direkt in Server 2 über Ihre lokale Terminal-Sitzung.
Methode 4: Dateien mit SFTP (SSH File Transfer Protocol) kopieren

SFTP bietet eine interaktive, FTP-ähnliche Erfahrung über eine verschlüsselte SSH-Verbindung. Im Gegensatz zu SCP, das ein Single-Command-Tool ist, öffnet SFTP eine persistente Sitzung, in der Sie interaktiv Verzeichnisse durchsuchen, Dateien hochladen, herunterladen, umbenennen und löschen können.
1) Starten einer SFTP-Sitzung
sftp username@remote_hostSie werden zu einer SFTP-Eingabeaufforderung (sftp>) weitergeleitet, von der aus Sie die folgenden Befehle ausführen können:
2) Wesentliche SFTP-Befehle
| Befehl | Beschreibung |
|---|---|
| ls | Dateien im aktuellen Remote-Verzeichnis auflisten |
| lls | Dateien im aktuellen lokalen Verzeichnis auflisten |
| cd /remote/path | Remote-Verzeichnis wechseln |
| lcd /local/path | Lokales Verzeichnis wechseln |
| put /local/file /remote/destination | Datei auf den Remote-Server hochladen |
| get /remote/file /local/destination | Datei vom Remote-Server herunterladen |
| mput *.txt | Mehrere Dateien mit einem Muster hochladen |
| mget *.log | Mehrere Dateien mit einem Muster herunterladen |
| mkdir /remote/newdir | Verzeichnis auf dem Remote-Server erstellen |
| rm /remote/file | Datei auf dem Remote-Server löschen |
| exit oder quit | SFTP-Sitzung beenden |
3) Verbindung zu einem benutzerdefinierten SSH-Port über SFTP
sftp -P 2222 username@remote_host4) Wann SFTP verwendet werden sollte
SFTP eignet sich am besten für interaktive Dateiverwaltungssitzungen — beispielsweise wenn Sie eine Remote-Verzeichnisstruktur durchsuchen, selektiv Protokolldateien herunterladen oder Konfigurationsdateien auf einen Webserver hochladen müssen. Viele GUI-Clients (wie FileZilla, Cyberduck und WinSCP) verwenden SFTP als zugrunde liegendes Protokoll, was es auch für nicht-technische Benutzer zugänglich macht.
Methode 5: Automatisierung von Dateiübertragungen mit SSH-Schlüssel-Authentifizierung

Das manuelle Eingeben eines Passworts für jede Dateiübertragung ist ineffizient und nicht mit Automatisierung kompatibel. SSH-schlüsselbasierte Authentifizierung löst dieses Problem durch passwortlose, kryptographisch sichere Anmeldungen — eine Voraussetzung für jeden automatisierten Backup- oder Deployment-Workflow.
1) Generieren Sie ein SSH-Schlüsselpaar
Führen Sie auf Ihrem lokalen Computer aus:
ssh-keygen -t ed25519 -C "your_email@example.com"Hinweis: ed25519 ist der moderne, empfohlene Algorithmus. Verwenden Sie -t rsa -b 4096, wenn Sie Kompatibilität mit älteren Systemen benötigen.
Folgen Sie den Eingabeaufforderungen, um den Schlüssel zu speichern (Standardort: ~/.ssh/id_ed25519) und legen Sie optional eine Passphrase für zusätzliche Sicherheit fest.
2) Kopieren Sie Ihren öffentlichen Schlüssel auf den Remote-Server
ssh-copy-id username@remote_hostDies fügt Ihren öffentlichen Schlüssel zur Datei ~/.ssh/authorized_keys auf dem Remote-Server hinzu. Sie werden ein letztes Mal zur Eingabe Ihres Passworts aufgefordert.
Wenn ssh-copy-id nicht verfügbar ist, können Sie dies manuell durchführen:
cat ~/.ssh/id_ed25519.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"3) Testen Sie die passwortlose Authentifizierung
ssh username@remote_hostWenn Sie sich verbinden, ohne zur Eingabe eines Passworts aufgefordert zu werden, funktioniert die schlüsselbasierte Authentifizierung korrekt.
4) Automatisieren Sie Übertragungen mit einem Shell-Skript
Mit konfigurierter passwortloser SSH können Sie Dateiübertragungen jetzt in Cron-Jobs oder Skripten automatisieren:
#!/bin/bash
# Daily backup script
rsync -avz --delete /var/www/html/ username@backup_server:/backups/www/Fügen Sie dies zu Ihrer Crontab (crontab -e) hinzu, um es nächtlich auszuführen:
0 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1Fehlerbehebung bei häufigen SSH-Dateiübertragungsproblemen

Auch erfahrene Administratoren stoßen auf Probleme. Hier sind die häufigsten Probleme und ihre Lösungen:
Berechtigung verweigert (publickey)
- Überprüfen Sie, dass der öffentliche Schlüssel korrekt zu ~/.ssh/authorized_keys auf dem Remote-Server hinzugefügt wurde
- Überprüfen Sie, dass ~/.ssh die Berechtigungen 700 und authorized_keys die Berechtigungen 600 hat
- Bestätigen Sie, dass der SSH-Daemon die Schlüsselauthentifizierung zulässt (PubkeyAuthentication yes in /etc/ssh/sshd_config)
Verbindung abgelehnt
- Überprüfen Sie, dass der SSH-Dienst läuft: systemctl status sshd
- Überprüfen Sie, dass der richtige Port verwendet wird
- Überprüfen Sie die Firewall-Regeln: ufw status oder iptables -L
Übertragungsgeschwindigkeit ist langsam
- Aktivieren Sie Komprimierung: fügen Sie -C zu SCP oder -z zu rsync hinzu
- Verwenden Sie eine schnellere Verschlüsselung: ssh -c aes128-ctr (weniger sicher, aber schneller bei Links mit hoher Latenz)
- Verwenden Sie für große Übertragungen rsync mit –bwlimit, um eine Überlastung Ihres Netzwerks zu vermeiden
Host-Schlüsselüberprüfung fehlgeschlagen
- Der SSH-Fingerabdruck des Remote-Servers hat sich geändert (könnte auf ein Sicherheitsproblem oder einen Server-Neuaufbau hindeuten)
- Entfernen Sie den alten Schlüssel: ssh-keygen -R remote_host
- Verbinden Sie sich erneut und überprüfen Sie den neuen Fingerabdruck, bevor Sie ihn akzeptieren
Wahl des richtigen Tools: SCP vs. rsync vs. SFTP

| Funktion | SCP | rsync | SFTP |
|---|---|---|---|
| Benutzerfreundlichkeit | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| Delta-Übertragungen | ❌ | ✅ | ❌ |
| Verzeichnissynchronisierung | ✅ (rekursiv) | ✅ (mit –delete) | ✅ (manuell) |
| Interaktiver Modus | ❌ | ❌ | ✅ |
| Automatisierung | ✅ | ✅ | ✅ (mit Skripten) |
| Bandbreiteneffizienz | Niedrig | Hoch | Niedrig |
| Am besten geeignet für | Schnelle einmalige Übertragungen | Sicherungen & Synchronisierung | Interaktives Durchsuchen |
Securing Your SSH File Transfers: Best Practices

Unabhängig davon, welches Tool Sie verwenden, befolgen Sie diese Best Practices für die Sicherheit, um Ihre Server und Daten zu schützen:
- Deaktivieren Sie die Passwortauthentifizierung — Verwenden Sie ausschließlich SSH-Schlüssel und setzen Sie PasswordAuthentication no in /etc/ssh/sshd_config
- Ändern Sie den Standard-SSH-Port — Das Verlassen von Port 22 reduziert automatisierte Brute-Force-Versuche drastisch
- Verwenden Sie fail2ban — Sperren Sie automatisch IPs, die wiederholt die Authentifizierung fehlschlagen
- Beschränken Sie SSH-Zugriff nach IP — Verwenden Sie Firewall-Regeln oder AllowUsers-Direktiven, um zu begrenzen, wer sich verbinden kann
- Halten Sie SSH aktuell — Aktualisieren Sie OpenSSH regelmäßig, um bekannte Sicherheitslücken zu beheben
- Verwenden Sie starke Schlüsselalgorithmen — Bevorzugen Sie ed25519 oder rsa-4096 gegenüber älteren, schwächeren Algorithmen
- Sichern Sie Ihre Webanwendungen — Kombinieren Sie SSH-Sicherheit mit einem SSL-Zertifikat, um den gesamten Datenverkehr zu Ihren Webdiensten zu verschlüsseln
Häufig gestellte Fragen

1) Was ist der Unterschied zwischen SCP und SFTP?
SCP ist ein nicht-interaktives Befehlszeilentool, das für schnelle, einzelne Dateiübertragungen entwickelt wurde. SFTP ist ein interaktives Protokoll, das es Ihnen ermöglicht, Dateien in einer sitzungsbasierten Schnittstelle zu durchsuchen, zu verwalten, hochzuladen und herunterzuladen. Beide verwenden SSH zur Verschlüsselung.
2) Kann ich rsync ohne SSH verwenden?
Ja — rsync hat seinen eigenen Daemon-Modus, der ohne SSH funktioniert, ist aber weniger sicher. Für jede internetgestützte Übertragung verwenden Sie immer rsync über SSH (rsync -e ssh).
3) Wie übertrage ich Dateien, wenn mein Server einen nicht standardmäßigen SSH-Port verwendet?
Verwenden Sie das -P Flag mit SCP (scp -P 2222) oder die -e “ssh -p 2222” Option mit rsync. Für SFTP verwenden Sie sftp -P 2222.
4) Ist SCP veraltet?
OpenSSH-Entwickler haben festgestellt, dass das zugrunde liegende Protokoll von SCP Einschränkungen hat, und empfehlen die Verwendung von SFTP oder rsync für neue Workflows. SCP bleibt jedoch auf praktisch allen Systemen weit verbreitet und funktionsfähig.
Fazit

Die Beherrschung von SSH-basierten Dateiübertragungen ist eine wesentliche Fähigkeit für jeden, der Server verwaltet, Anwendungen bereitstellt oder Remote-Infrastruktur wartet. Jedes Tool hat seinen Platz:
- SCP ist deine erste Wahl für schnelle, einfache, einmalige Übertragungen
- rsync ist unverzichtbar für Backups, Bereitstellungen und effiziente Synchronisierung großer Datenmengen
- SFTP glänzt in interaktiven Sitzungen, in denen du Dateien spontan durchsuchen und verwalten musst
Die Kombination dieser Tools mit SSH-Schlüssel-Authentifizierung und soliden Sicherheitspraktiken bietet dir einen robusten, automatisierten und sicheren Dateiübertragungsworkflow, der von einem einzelnen Shared Web Hosting-Konto bis hin zu komplexen Multi-Server-Architekturen auf Dedicated Servers skaliert.
Wenn du nach einer zuverlässigen, hochperformanten Hosting-Umgebung suchst, um diese Fähigkeiten in die Praxis umzusetzen, erkunde AlexHost’s VPS Hosting-Pläne — entwickelt für Entwickler und Systemadministratoren, die vollständigen Root-Zugriff, SSD-Speicher und Enterprise-Grade-Netzwerkkonnektivität fordern.
bei allen Hosting-Diensten