⌕
AnmeldenDabei sein ↗

Tippe mindestens zwei Buchstaben. Pfeiltasten wählen, Enter öffnet.

ANLEITUNG</> Software & Code

Dateien per SSH übertragen: scp, rsync und SFTP im Überblick

Ein Modell auf den Drucker-Pi, eine Weltdatei vom Gameserver, ein Backup vom NAS: Mit scp, rsync und SFTP schiebst du Dateien verschlüsselt zwischen Rechner und Server. Mit allen Befehlen zum Kopieren.

Drei Dateien fliegen auf einem gestrichelten Bogen vom Laptop zum Server
Illustration: Spawnpunkt

Sobald du per SSH auf einen Server kommst, kannst du auch Dateien übertragen, ohne zusätzliche Software auf dem Server einzurichten. Die drei wichtigsten Werkzeuge dafür sind scp für schnelle einzelne Kopien, rsync für Ordner und Backups und SFTP für die Arbeit mit grafischen Programmen. Diese Anleitung zeigt alle drei mit Beispielen zum Kopieren.

Du brauchst: SSH-Zugang zu einem Server, am besten mit Schlüssel (siehe https://spawnpunkt.de/magazin/ssh-schluessel-einrichten). Wenn du eine SSH-Config mit Kurznamen hast, kannst du statt benutzer@192.168.1.50 einfach den Namen schreiben.

scp: schnell eine Datei kopieren

scp funktioniert wie der normale Kopierbefehl cp, nur dass Quelle oder Ziel auf einem anderen Rechner liegen. Der Doppelpunkt trennt den Server vom Pfad.

Eine Datei auf den Server kopieren:

bash
scp modell.gcode benutzer@192.168.1.50:/home/benutzer/

Eine Datei vom Server in den aktuellen Ordner holen (der Punkt am Ende steht für „hierher“):

bash
scp benutzer@192.168.1.50:/home/benutzer/backup.tar.gz .

Einen ganzen Ordner kopieren:

bash
scp -r fotos/ benutzer@192.168.1.50:/home/benutzer/fotos/

Läuft SSH auf einem anderen Port, gibst du ihn bei scp mit großem -P an:

bash
scp -P 2222 modell.gcode benutzer@192.168.1.50:/home/benutzer/

scp ist unter Windows, macOS und Linux gleichermaßen vorhanden.

rsync: Ordner abgleichen und Backups

rsync ist das bessere Werkzeug für größere Mengen. Es überträgt nur, was sich geändert hat, kann abgebrochene Übertragungen fortsetzen und zeigt den Fortschritt. rsync muss auf beiden Seiten installiert sein. Auf Debian, Ubuntu und Raspberry Pi OS geht das so:

bash
sudo apt install rsync -y

Einen Ordner auf den Server übertragen:

bash
rsync -avh --progress projekte/ benutzer@192.168.1.50:/srv/backup/projekte/

Die Optionen bedeuten: -a übernimmt Unterordner, Rechte und Zeitstempel, -v zeigt die übertragenen Dateien, -h schreibt Größen lesbar und --progress zeigt den Fortschritt pro Datei.

Soll das Ziel ein exaktes Abbild der Quelle sein, löscht --delete im Ziel alle Dateien, die es in der Quelle nicht mehr gibt. Probier das **immer zuerst mit --dry-run** aus. Dann zeigt rsync nur an, was passieren würde:

bash
rsync -avh --delete --dry-run projekte/ benutzer@192.168.1.50:/srv/backup/projekte/

Sieht die Liste richtig aus, lässt du den Befehl ohne --dry-run laufen. Ordner, die nicht mit sollen, schließt du aus:

bash
rsync -avh --exclude 'node_modules' --exclude '*.tmp' projekte/ benutzer@192.168.1.50:/srv/backup/projekte/

Bei großen Dateien über eine wackelige Verbindung hilft --partial: Bricht die Übertragung ab, macht rsync beim nächsten Aufruf an der Stelle weiter.

Zwei Ablagen mit Dateien: Nur die zwei grün markierten neuen Dateien wandern auf Pfeilen nach rechts, die übrigen liegen dort schon
rsync vergleicht beide Seiten und überträgt nur neue und geänderte Dateien. Unveränderte bleiben liegen.

SFTP: im Terminal oder mit Programm

SFTP ist ein Dateiübertragungsprotokoll, das über SSH läuft. Jeder SSH-Server unterstützt es ohne Zusatzaufwand. Im Terminal öffnest du eine interaktive Sitzung:

bash
sftp benutzer@192.168.1.50

Darin funktionieren diese Befehle:

BefehlWirkung
ls / cd ordnerInhalt anzeigen / Ordner wechseln auf dem Server
lls / lcd ordnerdasselbe auf deinem Rechner
put dateiDatei hochladen
get dateiDatei herunterladen
put -r ordnerOrdner hochladen
exitSitzung beenden

Bequemer sind grafische Programme. Sie zeigen links deinen Rechner und rechts den Server, Dateien ziehst du einfach hinüber:

  • WinSCP (Windows), übernimmt auf Wunsch PuTTY-Sitzungen
  • FileZilla (Windows, macOS, Linux), als Protokoll „SFTP“ wählen
  • Cyberduck (macOS, Windows)
  • Unter Linux können viele Dateimanager direkt Adressen wie sftp://benutzer@192.168.1.50/ öffnen

Melde dich in den Programmen mit deinem SSH-Schlüssel an, nicht mit Passwort. WinSCP kann OpenSSH-Schlüssel beim ersten Laden in sein eigenes Format umwandeln.

Bonus: Server-Ordner wie ein Laufwerk einbinden

Unter Linux und macOS kannst du mit sshfs einen Ordner vom Server als lokalen Ordner einbinden. Unter Debian und Ubuntu installierst du es so:

bash
sudo apt install sshfs -y
mkdir -p ~/server
sshfs benutzer@192.168.1.50:/srv/daten ~/server

Jetzt öffnest du die Dateien in ~/server, als lägen sie auf deinem Rechner. Zum Lösen:

bash
fusermount3 -u ~/server
✓ Fazit
  • scp für einzelne Dateien und schnelle Kopien
  • rsync -avh für Ordner und Backups, nur Änderungen werden übertragen
  • Bei --delete immer zuerst --dry-run
  • Auf die Schrägstriche am Ende der Pfade achten
  • SFTP-Programme wie WinSCP, FileZilla oder Cyberduck für Drag & Drop

Welches Werkzeug nutzt du am meisten? Erzähl es in der Community oder frag nach, wenn ein Befehl nicht das tut, was du erwartest.

Quellen

Kommentare

Noch keine Kommentare. Was meinst du dazu?

Mitreden? Melde dich an, um zu kommentieren.

Frage stellen

Spawnpunkt bindet keine Dienste von Drittanbietern ein. Alles, was du hier erlaubst, bleibt auf meinem eigenen Server.