🔐 Einführung: Dateien sicher über SSH übertragen
Ob Backups, Website-Daten oder persönliche Dokumente – wer Dateien auf einen Server übertragen will, sollte auf Sicherheit und Effizienz achten. Dieses Tutorial zeigt dir, wie du mit scp, rsync und sshfs Dateien zuverlässig und verschlüsselt über SSH verschickst. Du lernst die wichtigsten Befehle, Automatisierungstipps und bekommst ein Beispielskript für deine eigenen Backup-Workflows.
📘 Tutorial: Dateien sicher über SSH übertragen
1. Voraussetzungen
- Ein Server mit aktivem SSH-Dienst (z. B.
sshd). - Lokaler Rechner mit installiertem OpenSSH (Linux/macOS standardmäßig, unter Windows via PowerShell oder WSL).
- Zugangsdaten: Benutzername und IP/Hostname des Servers.
- Optional: SSH-Schlüssel für passwortlosen Login.
2. Methode 1 – scp (Secure Copy)
Grundsyntax
scp [OPTIONEN] QUELLE ZIEL
Beispiel: Datei hochladen
scp backup.sql made@meinserver:/var/backups/
Beispiel: Verzeichnis rekursiv kopieren
scp -r /home/made/fotos markus@meinserver:/data/
👉 Vorteil: Schnell und einfach. 👉 Nachteil: Kopiert immer alles neu, keine Synchronisation.
3. Methode 2 – rsync (Remote Sync)
Grundsyntax
rsync [OPTIONEN] QUELLE ZIEL
Beispiel: Fotos synchronisieren
rsync -avz /home/made/fotos/ markus@meinserver:/data/fotos/
-a→ Archivmodus (Rechte, Symlinks, etc. bleiben erhalten)-v→ Verbose (Ausgabe anzeigen)-z→ Kompression während der Übertragung--delete→ Entfernt Dateien auf dem Ziel, die lokal nicht mehr existieren
👉 Vorteil: Nur geänderte Dateien werden übertragen → ideal für Backups. 👉 Nachteil: Etwas komplexer als scp.
4. Methode 3 – SSHFS (Dateisystem über SSH einbinden)
Beispiel: Remote-Verzeichnis mounten
sshfs made@meinserver:/data/fotos /mnt/fotos
👉 Danach kannst du Dateien wie lokal bearbeiten. 👉 Praktisch für interaktive Arbeit, weniger für große Backups.
5. Best Practices als Admin
- SSH-Schlüssel nutzen:bash
ssh-keygen -t ed25519 ssh-copy-id made@meinserver - Automatisierung:
rsyncin ein Bash-Skript packen und percronodersystemd-Timer regelmäßig ausführen. - Logging: Mit
--log-file=/pfad/log.txtbeirsyncnachvollziehbare Backups erstellen. - Fehlerhandling: Exit-Codes prüfen (
$?in Bash), um bei Problemen Benachrichtigungen auszulösen.
6. Mini-Beispielskript für Backups
#!/bin/bash
# Backup-Skript mit rsync
QUELLE="/home/markus/fotos/"
ZIEL="made@meinserver:/data/fotos/"
LOG="/var/log/foto-backup.log"
rsync -avz --delete "$QUELLE" "$ZIEL" >> "$LOG" 2>&1
if [ $? -eq 0 ]; then
echo "$(date) - Backup erfolgreich" >> "$LOG"
else
echo "$(date) - Backup FEHLGESCHLAGEN" >> "$LOG"
fi
© 2025 MaDe-Online

