Sichere Übertragung von Dateien und Verzeichnissen mit SCP

Suraj Joshi 30 Januar 2023
  1. SCP-Befehl
  2. Dateien und Verzeichnisse mit scp übertragen
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äsentiert scp-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:

  1. Dieser Befehl benutzt ssh Schlüssel oder Passwort, um entfernte Systeme zu authentifizieren.
  2. Er erkennt entfernte Systeme mit dem Symbol :.
  3. Wir müssen uns die Leseberechtigungen der Quelldatei oder des Quellverzeichnisses und die Schreibberechtigungen der Zieldatei oder des Zielverzeichnisses ansehen.
  4. 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 avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Verwandter Artikel - Linux Files and Directories