Zum Hauptinhalt springen
Zurück zur Kategorie

Dateiübertragung zum Server: SCP, SFTP und rsync Anleitung

Vollständige Anleitung zu SCP-Syntax, SFTP-Interaktivmodus, rsync für Synchronisation und Backup sowie WinSCP/FileZilla für Windows-Nutzer. Sichere Dateiübertragung zu Linux-Servern.

Lesezeit: 11 min Serververwaltung
scpsftprsyncdateiübertragungwinscpfilezillasshlinux

Inhaltsverzeichnis

Dateiübertragung zum Server: SCP, SFTP und rsync Anleitung

Es gibt mehrere sichere Methoden zur Dateiübertragung auf Ihren Linux-Server. SCP (Secure Copy Protocol), SFTP (SSH File Transfer Protocol) und rsync nutzen alle die SSH-Infrastruktur für verschlüsselte Dateiübertragung. Diese Anleitung behandelt alle drei Tools und grafische Alternativen für Windows-Nutzer.

Dateiübertragung mit SCP

SCP ist ein einfaches und schnelles Tool zum Kopieren von Dateien über SSH.

Grundlegende SCP-Syntax

hljs bash
# Lokale Datei auf Server kopieren
scp /lokale/datei.txt benutzer@server-ip:/remote/verzeichnis/

# Vom Server auf lokalen Rechner kopieren
scp benutzer@server-ip:/remote/datei.txt /lokales/verzeichnis/

# Verzeichnis kopieren (-r rekursiv)
scp -r /lokales/verzeichnis/ benutzer@server-ip:/remote/verzeichnis/

# Benutzerdefinierter Port (-P Großbuchstabe)
scp -P 2222 datei.txt benutzer@server-ip:/ziel/

# Mit SSH-Schlüsseldatei
scp -i ~/.ssh/id_rsa datei.txt benutzer@server-ip:/ziel/

SCP-Optionen

hljs bash
# Übertragung mit Komprimierung (-C)
scp -C grosse-datei.tar.gz benutzer@server-ip:/ziel/

# Fortschritt anzeigen (-v verbose)
scp -v datei.txt benutzer@server-ip:/ziel/

# Bandbreite begrenzen (KB/s)
scp -l 1024 datei.txt benutzer@server-ip:/ziel/

# Mehrere Dateien
scp datei1.txt datei2.txt benutzer@server-ip:/ziel/

# Mit Wildcard
scp *.log benutzer@server-ip:/var/log/backup/

SCP ist ideal für einfaches Kopieren. Für große Verzeichnissynchronisation oder Backups ist rsync effizienter.

Dateiübertragung mit SFTP

SFTP ist ein vollständiges Dateiübertragungsprotokoll über SSH. Es ist die sichere Alternative zu FTP.

SFTP-Verbindung

hljs bash
# SFTP-Sitzung starten
sftp benutzer@server-ip

# Mit benutzerdefiniertem Port
sftp -P 2222 benutzer@server-ip

# Mit SSH-Schlüssel
sftp -i ~/.ssh/id_rsa benutzer@server-ip

SFTP-Interaktivbefehle

hljs bash
# Remote-Verzeichnis auflisten
ls
ls -la

# Remote-Verzeichnis wechseln
cd /var/www/html

# Lokales Verzeichnis wechseln
lcd ~/Downloads

# Datei hochladen (lokal → remote)
put datei.txt
put -r /lokales/verzeichnis/ /remote/verzeichnis/

# Datei herunterladen (remote → lokal)
get datei.txt
get -r /remote/verzeichnis/ /lokales/verzeichnis/

# Remote-Verzeichnis erstellen
mkdir neues-verzeichnis

# Remote-Datei löschen
rm datei.txt

# Remote-Datei umbenennen
rename alter-name.txt neuer-name.txt

# SFTP-Sitzung beenden
exit

Batch-SFTP-Operationen

hljs bash
# SFTP im Batch-Modus
sftp -b - benutzer@server-ip << 'EOF'
cd /var/www/html
put index.html
put style.css
EOF

Synchronisation und Backup mit rsync

rsync ist ein leistungsstarkes Tool zur effizienten Synchronisation von Dateien und Verzeichnissen.

Grundlegende rsync-Syntax

hljs bash
# Lokales Verzeichnis mit Server synchronisieren
rsync -avz /lokales/verzeichnis/ benutzer@server-ip:/remote/verzeichnis/

# Vom Server auf lokalen Rechner synchronisieren
rsync -avz benutzer@server-ip:/remote/verzeichnis/ /lokales/verzeichnis/

# Mit benutzerdefiniertem SSH-Port
rsync -avz -e "ssh -p 2222" /lokal/ benutzer@server-ip:/remote/

rsync-Optionen

hljs bash
# Vollständiger Backup-Befehl
rsync -avzh --progress /var/www/ benutzer@server-ip:/backup/www/

# Synchronisation mit Löschungen
rsync -avz --delete /lokal/ benutzer@server-ip:/remote/

# Zuerst simulieren
rsync -avz --dry-run /lokal/ benutzer@server-ip:/remote/

# Bestimmte Dateien ausschließen
rsync -avz --exclude='*.log' --exclude='.git' /lokal/ benutzer@server-ip:/remote/

# Bandbreite begrenzen (KB/s)
rsync -avz --bwlimit=1024 /lokal/ benutzer@server-ip:/remote/

Automatisches Backup mit rsync

hljs bash
# Tägliches Backup mit Cron
crontab -e

# Jeden Abend um 02:00 Uhr sichern
0 2 * * * rsync -avz --delete /var/www/ benutzer@backup-server:/backup/www/ >> /var/log/rsync-backup.log 2>&1

rsync's leistungsstärkstes Merkmal ist der Delta-Transfer-Algorithmus: Es werden nur geänderte Blöcke übertragen. Das spart erheblich Bandbreite bei großen Dateien.

Grafische Oberflächen für Windows-Nutzer

WinSCP

WinSCP ist der beliebteste SFTP/SCP-Client für Windows.

Installation und Verbindung:

  1. Von winscp.net herunterladen
  2. Neue Sitzung erstellen:
    • Dateiprotokoll: SFTP
    • Serveradresse: server-ip
    • Port: 22
    • Benutzername und Passwort
  3. Für SSH-Schlüssel: Erweitert → SSH → Authentifizierung → Private Schlüsseldatei

FileZilla

FileZilla ist ein plattformübergreifender SFTP-Client für Windows, macOS und Linux.

Verbindung einrichten:

  1. Von filezilla-project.org herunterladen
  2. Site-Manager → Neue Site:
    • Protokoll: SFTP - SSH File Transfer Protocol
    • Server: server-ip
    • Port: 22
  3. Verbinden

SSH-Konfiguration für einfache Verbindungen

hljs bash
# ~/.ssh/config bearbeiten
nano ~/.ssh/config
Host mein-server
    HostName 203.0.113.50
    User ubuntu
    Port 22
    IdentityFile ~/.ssh/id_rsa
hljs bash
# Jetzt mit Kurzname verbinden
scp datei.txt mein-server:/ziel/
sftp mein-server
rsync -avz /lokal/ mein-server:/remote/

Fehlerbehebung

Verbindung abgelehnt

hljs bash
# SSH-Verbindung testen
ssh -v benutzer@server-ip

# Port prüfen
nmap -p 22 server-ip

# Firewall prüfen
sudo ufw status

Fazit

SCP, SFTP und rsync sind unverzichtbare Tools für sichere Dateiübertragung zu Linux-Servern. Verwenden Sie SCP für einfaches Kopieren, SFTP für interaktive Verwaltung und rsync für Synchronisation und Backups. Windows-Nutzer können über WinSCP oder FileZilla auf dieselbe Funktionalität zugreifen.