Sichere Übertragung von Dateien und Verzeichnissen mit SCP
SCP
, auch als secure copy
bekannt, ist ein Befehlszeilen-Dienstprogramm zur Übertragung von Dateien und Verzeichnissen von einem lokalen auf ein entferntes System und umgekehrt. Es erlaubt uns auch, Dateien und Verzeichnisse zwischen zwei entfernten Systemen zu übertragen. Die Dateien und Passwörter werden während der Übertragung verschlüsselt, so dass dies eine sicherere Art der Übertragung ist.
SCP
-Befehl
Syntax
scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2
Flaggen:
OPTION
: Es repräsentiertscp
-Optionen wie Chiffre, ssh-Konfiguration, ssh-Port, Limit, rekursive Kopie …usw.[user@]SRC_HOST:]file1
: Quelldatei oder Verzeichnis, das kopiert werden soll[user@]DEST_HOST:]file2
: Pfad zu dem Verzeichnis, in das die Quelldatei oder das Verzeichnis kopiert werden muss
scp
bietet verschiedene Optionen zur Steuerung der Übertragung. Einige der am weitesten verbreiteten Optionen sind:
-P |
ssh-Port des entfernten Hosts angeben |
-p |
Erhalt der Änderungs- und Zugriffszeiten von Dateien. |
-q |
Unterdrücken Sie die Fortschrittsanzeige und Fehlermeldungen |
-C |
Daten während der Übertragung komprimieren |
-r |
Dateien rekursiv kopieren. |
Dinge, die bei der Verwendung des Befehls scp
beachtet werden müssen:
- Dieser Befehl benutzt
ssh
Schlüssel oder Passwort, um entfernte Systeme zu authentifizieren. - Er erkennt entfernte Systeme mit dem Symbol
:
. - Wir müssen uns die Leseberechtigungen der Quelldatei oder des Quellverzeichnisses und die Schreibberechtigungen der Zieldatei oder des Zielverzeichnisses ansehen.
scp
überschreibt Dateien ohne Warnung. Wir müssen also bei der Übertragung von Dateien, die auf beiden Systemen den gleichen Namen und Speicherort haben, vorsichtig sein.
Dateien und Verzeichnisse mit scp
übertragen
Kopieren einer Datei vom lokalen System auf ein entferntes System
scp main.py remote_username@11.11.0.200:/Documents/directory
Dieser Befehl fordert uns zur Eingabe eines Benutzerkennworts auf, und die Übertragung beginnt, sobald wir das korrekte Kennwort eingeben.
Ausgabe:
remote_username@11.11.0.200's password:
main.py 100% 0 0.0KB/s 00:00
Es kopiert die Datei main.py
auf unserem lokalen System auf den entfernten Server mit dem Benutzernamen remote_username
und der IP-Adresse 11.11.0.200
. /Documents/directory
stellt das Zielverzeichnis auf dem entfernten Server dar, in das die Datei kopiert werden soll. Wenn das Remote-Verzeichnis nicht angegeben wird, wird die Datei in das Home-Verzeichnis des entfernten Rechners kopiert.
Wenn das SSH
des entfernten Rechners auf einen anderen Port als den Standardport 22
hört, können wir den Port mit der Option -P
angeben.
scp -P 8080 main.py remote_username@11.11.0.200:/Documents/directory
Kopieren eines Verzeichnisses vom lokalen System auf das entfernte System
Wir müssen das Argument -r
mit dem Befehl scp
verwenden, um Verzeichnisse zu übertragen, was eine rekursive Übertragung aller Dateien innerhalb des Verzeichnisses darstellt.
scp -r /Documents/myapp remote_username@11.11.0.200:/Documents/remote_app
Es kopiert das Verzeichnis myapp
innerhalb des Verzeichnisses Documents
auf dem lokalen Rechner in das Verzeichnis remote_app
innerhalb des Verzeichnisses Documents
auf dem entfernten Rechner.
Kopieren einer Datei vom entfernten System auf das lokale System
Um eine Datei eines entfernten Systems auf das lokale System zu kopieren, verwenden wir einen entfernten Standort als Quelle und den lokalen Standort als Ziel.
scp remote_username@11.11.0.200:/remote/main.py /Documents/local
Dabei wird die Datei main.py
vom entfernten System auf unser lokales System mit dem Zielverzeichnis /Documents/local
kopiert.
Datei von einem entfernten Standort zu einem anderen entfernten Standort kopieren
scp userA@11.11.0.200:/host1/main.py userB@11.11.0.205:/host2
Es kopiert die Datei /host1/main.py
vom entfernten Host mit der IP-Adresse 11.11.0.200
in das Verzeichnis host2
im Host mit der IP-Adresse 11.11.0.205
.
Um den Verkehr durch den Rechner zu leiten, auf dem der Befehl ausgegeben wird, fügen wir die Option -3
zum Befehl scp
hinzu.
scp -3 userA@11.11.0.200:/host1/main.py userB@11.11.0.205:/host2
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedInVerwandter Artikel - Linux Files and Directories
- Wie löscht man Dateien und Verzeichnisse im Linux-Terminal
- Kopieren von Dateien und Verzeichnissen mit Linux-Terminal
- Umbenennen von Dateien und Verzeichnissen mit Linux-Terminal
- Wie extrahiert man Bzip2-Dateien mit dem Terminal
- Wie man Dateien und Verzeichnisse unter Linux mit dem Mv-Befehl verschiebt