Linux / Befehl scp: Dateien über SSH kopieren
scp kopiert Dateien zwischen lokalen und entfernten Systemen unter Verwendung von SSH. Der entfernte Ort wird üblicherweise in der Form user@host:path angegeben.
Die aktuelle OpenSSH scp verwendet standardmäßig das SFTP-Protokoll und wählt das alte SCP-Protokoll nur aus, wenn die Kompatibilität mit älteren Servern erforderlich ist. Die Kopierrichtung wird durch die Reihenfolge von Quelle und Ziel bestimmt. Achten Sie auf die Pfadsyntax und das Verwenden von Anführungszeichen, wenn der Dateiname Doppelpunkte oder Sonderzeichen enthält, die von der entfernten Shell interpretiert werden.
Grundlegende Syntax
scp [options] source target
Die installierte Implementierung und die Optionen können je nach Distribution variieren. Überprüfen Sie die Beschreibung für Ihr System mit man scp.
Beispiele
Lokale Dateien auf den Server kopieren
Überprüfen Sie zuerst, da bestehende Dateien am Zielpfad überschrieben werden können.
scp report.txt alice@server.example.com:/home/alice/
Dateien vom Server lokal kopieren
Rufen Sie entfernte Dateien in das aktuelle Verzeichnis ab.
scp alice@server.example.com:/home/alice/report.txt .
Verzeichnis kopieren
Verwenden Sie -r, um Unterdateien einzuschließen. Überprüfen Sie die erwartete Größe.
scp -r project/ alice@server.example.com:/home/alice/
Überprüfung der Übertragungsrichtung und -ergebnisse
scp localfile user@host:path kopiert von lokal nach remote. Der folgende Server und Pfad dienen nur als Beispiel, überprüfen Sie daher die tatsächlichen Berechtigungen und den Speicherplatz und passen Sie sie entsprechend an.
scp report.txt user@server.example.test:/tmp/report.txt
Bei Erfolg kann der Übertragungsfortschritt angezeigt werden, oder er kann je nach Ausgabeeinstellungen ohne Nachricht abgeschlossen werden. Überprüfen Sie auf dem entfernten Server den Dateinamen und die Größe mit ssh user@server.example.test 'ls -lh /tmp/report.txt'.
Der Standort vor und nach dem Doppelpunkt bestimmt die Übertragungsrichtung. Da vorhandene Remote-Dateien überschrieben werden können, überprüfen Sie den Zielpfad sorgfältig. Um unterbrochene große Übertragungen fortzusetzen oder mehrere Dateien wiederholt zu synchronisieren, könnte rsync besser geeignet sein.
Hauptoptionen und Format
| Optionen/Format | Beschreibung |
|---|---|
-r |
Kopiert Verzeichnisse rekursiv. |
-P port |
Gibt den SSH-Serverport an. Im Gegensatz zu ssh's -p ist dieser Großbuchstaben. |
-i keyfile |
Gibt den privaten Schlüssel für die Authentifizierung an. |
-p |
Erhält so weit wie möglich die Dateiänderungszeit und Berechtigungen. |
-O |
Verwendet das alte SCP-Protokoll, falls Kompatibilität erforderlich ist. |
Vorsichtsmaßnahmen bei der Verwendung
Wenn die Zieldatei existiert, kann sie überschrieben werden, daher überprüfen Sie den Pfad und das Konto und sichern Sie wichtige Dateien zuerst. Das ältere Protokoll -O hat eine Remote-Shell-Interpretation und Sicherheitsrisiken, daher wird es in der Regel nicht verwendet. scp ist kein Werkzeug, das nur geänderte Dateien vergleicht oder gelöschte Zustände synchronisiert. Für solche Aufgaben kann rsync geeignet sein.
Häufig gestellte Fragen
Ist die Port-Option in scp -p?
Nein. Der Server-Port ist Großbuchstabe -P. Kleinbuchstabe -p ist die Option, um Dateizeiten und Berechtigungen zu erhalten.
Offizielle Dokumentation
Das genaue Verhalten der Optionen und Implementierungsunterschiede finden Sie in der offiziellen scp-Dokumentation.




