GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Erläuterung des Linux-SCP-Befehls:Sicheres Kopieren und Übertragen von Dateien {13 Beispiele}

Einführung

SCP (Secure Copy Protocol) ist ein Netzwerkprotokoll, das zum sicheren Kopieren von Dateien/Ordnern zwischen Linux (Unix)-Systemen in einem Netzwerk verwendet wird. Verwenden Sie zum Übertragen den scp Befehlszeilenprogramm, eine sicherere Variante des Befehls cp (copy).

SCP schützt Ihre Daten beim Kopieren über eine SSH-Verbindung (Secure Shell), indem die Dateien und Kennwörter verschlüsselt werden. Daher werden die Informationen auch dann verschlüsselt, wenn der Datenverkehr abgefangen wird.

Verwenden Sie SCP, wenn:

  • Kopieren von Dateien von einem lokalen Host auf einen entfernten Host.
  • Kopieren von Dateien von einem entfernten Host auf einen lokalen Host.
  • Kopieren von Dateien zwischen zwei Remote-Servern.

Diese Anleitung zeigt Ihnen, wie Sie Dateien mit dem SCP-Befehl kopieren und enthält 13 Beispiele für den praktischen Einsatz des Befehls .

Voraussetzungen

  • Eine sichere Shell-Anmeldung auf dem Server
  • (optional) Root-Zugriff sowohl auf dem Client als auch auf dem Server
  • Ein sicheres Shell-Login auf dem Serversystem

SCP-Befehlssyntax

Die Syntax für die Verwendung von scp Befehl ist:

scp [option] [[email protected]_host:path/to/source/file] [[email protected]_host:target/path] 

Wenn Sie weglassen:

  • der Benutzername des Hosts (oder Ziels) verwendet der Befehl standardmäßig den aktuellen Benutzer.
  • der Pfad/zur/Quelle (oder Ziel/Pfad ) aus dem Befehl sucht (oder kopiert) das Programm die Datei lokal.

Wenn Sie mit entfernten Dateien arbeiten, geben Sie immer die Benutzer- und Host-Spezifikationen an.

Stellen Sie sicher, dass Sie ein Konto mit Lesezugriff auf die Datei(en) verwenden, die Sie auf dem Quellsystem kopieren möchten. Außerdem müssen Sie ein Konto mit Schreibzugriff auf das Verzeichnis verwenden, in dem die Datei(en) auf dem Zielsystem gespeichert werden.

SCP-Befehlsoptionen

Sie können viele scp hinzufügen Befehlsoptionen zum Befehl hinzufügen, um den Vorgang anzupassen und zu beschleunigen. Optionen werden als Attribute direkt nach dem scp hinzugefügt Befehl.

Jede Option hat eine kurze, aus einem Zeichen bestehende Form und ein längeres, beschreibendes Äquivalent.

-1 Protokoll 1 verwenden.
-2 Verwenden Sie Protokoll 2.
-4 Nur IPv4-Adressen verwenden.
-6 Nur IPv6-Adressen verwenden.
-B Im Stapelmodus ausführen, alle Abfragen für Benutzereingaben deaktivieren.
-b buffer_size Geben Sie die für die Datenübertragung verwendete Puffergröße an. Wenn nicht angegeben, wird der Standardwert - 32768 Bytes verwendet.
-C Komprimierung aktivieren.
-c cipher Wählen Sie die Chiffre für die Datenverschlüsselung. Wenn nicht angegeben, verwendet SCP den Standardwert „AnyStdCipher“.
-D debug_level Stellen Sie die Debug-Stufe ein (1, 2, 3 oder 99).
-d Kopieren Sie die Datei, nur wenn das Zielverzeichnis bereits existiert.
-F file Geben Sie eine alternative Konfigurationsdatei für SSH an .
-h Zeige eine Liste mit Befehlsoptionen.
-i file Geben Sie die Datei an, aus der die Identität für die Public-Key-Authentifizierung gelesen werden soll.
-l limit Begrenzen Sie die Bandbreite (geben Sie das Limit in an Kbit/s).
-o ssh_option Optionen auf SSH im ssh_config-Format setzen.
-P port Geben Sie den Port an, zu dem eine Verbindung hergestellt werden soll. Wenn nicht angegeben, verwendet SCP Port 22.
-q SCP im stillen Modus ausführen.
-Q Deaktivieren Sie die Anzeige von Dateiübertragungsstatistiken.
-r Rekursiv kopieren.
-S program Verwenden Sie ein bestimmtes Programm für die verschlüsselte Verbindung.
-u Löschen Sie die Quelldatei, sobald der Kopiervorgang abgeschlossen ist.
-v Aktivieren Sie den ausführlichen Modus, der den Debug-Level auf 2 setzt.

Beispiele für SCP-Befehle

Um dieses nützliche Dienstprogramm besser zu verstehen, werfen Sie einen Blick auf das folgende scp Befehlsbeispiele.

Kopieren Sie eine Datei vom lokalen auf den Remote-Server

Im folgenden Beispiel kopieren wir eine Beispieldatei von einem lokalen Host auf einen Remote-Server:

scp Desktop/sample_example.txt [email protected]:/home/remote_dir 

Der Befehl enthält die folgenden Informationen:

  • Desktop/sample_example.txt - Name der kopierten Datei und Speicherort.
  • [email protected] - Benutzername und IP-Adresse des Remote-Servers.
  • /home/remote_dir – der Ort, an dem die kopierte Datei gespeichert werden soll.

Kopieren Sie eine Datei von einem Remote-Server auf den lokalen Host

Um eine Beispieldatei von einem entfernten Host auf einen lokalen Host zu kopieren, führen wir Folgendes aus:

scp 147.182.143.27:/home/remote_dir/sample_example.txt home/Desktop

Die bereitgestellten Informationen sind

  • [email protected] - Benutzername und IP-Adresse des Remote-Servers, auf dem sich die Datei derzeit befindet.
  • /home/remote_dir/sample_example.txt - Name der kopierten Datei und Speicherort.
  • home/Desktop – der Ort, an dem die kopierte Datei gespeichert werden soll.

Kopieren Sie eine Datei von einem Remote-Server auf einen anderen

Sehen wir uns als Nächstes an, wie Sie eine Datei mithilfe von scp von einem Remote-Server auf einen anderen Remote-Server kopieren Befehl:

scp [email protected]:/home/remote_dir/sample_example.txt [email protected]:home/Desktop

Der obige Befehl gibt Folgendes an:

  • [email protected] - Benutzername und IP-Adresse des Remote-Servers, auf dem sich die Datei derzeit befindet.
  • /home/remote_dir/sample_example.txt - Name der kopierten Datei und Speicherort.
  • [email protected] – den Benutzernamen und die IP-Adresse des Remote-Servers, auf den wir die Datei kopieren möchten.
  • home/Desktop – der Ort, an dem die kopierte Datei auf dem Remote-Server gespeichert werden soll.

Mehrere Dateien mit SCP kopieren

Mit SCP können Sie mehrere Dateien mit einem einzigen Befehl kopieren. Der folgende Befehl kopiert beispielsweise zwei Dateien von einem lokalen Host auf einen Remote-Server:

scp example/sample1.txt example/sample2.txt [email protected]:/home/remote_dir

Es enthält die folgenden Informationen:

  • example/sample1.txt – Name und Speicherort der ersten kopierten Datei.
  • example/sample2.txt – Name und Speicherort der zweiten kopierten Datei.
  • [email protected] - Benutzername und IP-Adresse des Remote-Servers, der die Dateien empfängt.
  • /home/remote_dir - der Ort, an dem die kopierten Dateien auf dem Remote-Server gespeichert werden.

Einen Ordner rekursiv vom lokalen Host auf den Remote-Server kopieren

Abgesehen von Dateien, scp kann auch Ordner sicher auf oder von entfernten Servern kopieren. Der folgende Befehl zeigt, wie ein Beispielverzeichnis rekursiv auf einen entfernten Server kopiert wird:

scp -r example [email protected]:/home/remote_dir

Der Befehl enthält:

  • -r – die Option zum rekursiven Kopieren des Ordners.
  • example – der Name des Ordners, der vom lokalen Server kopiert wird.
  • [email protected] - Benutzername und IP-Adresse des Remote-Servers, der den Ordner empfängt.
  • /home/remote_dir - der Ort, an dem der kopierte Ordner auf dem Remote-Server gespeichert werden soll.

Kopieren Sie eine Datei mit SCP unter Verwendung eines bestimmten Ports

Standardmäßig verwendet SCP Port 22. Wenn ein Remote-System jedoch so konfiguriert ist, dass es SSH-Anfragen auf einem anderen Port abhört, verwenden Sie –P wechseln, um den Port anzugeben.

Beispielsweise kopiert der folgende Befehl eine Datei von einem lokalen auf einen Remote-Server, wobei Port 2222 verwendet wird:

scp -P 2222  Desktop/sample_example.txt [email protected]:/home/remote_dir

Die Komponenten des obigen Befehls sind:

  • -P 2222 – Verwenden Sie den Port 2222.
  • Desktop/sample_example.txt - den Dateinamen, den Sie kopieren möchten, und seinen Speicherort.
  • [email protected] - Benutzername und IP-Adresse des Remote-Servers, der die Datei empfängt.
  • /home/remote_dir - der Ort, an dem die kopierte Datei auf dem Remote-Server gespeichert werden soll.

Kopieren Sie eine Datei mit SCP im stillen Modus

Ausführen eines scp Befehl im stillen Modus bedeutet, dass die Fortschrittsanzeige deaktiviert wird und keine Fehlermeldungen in der Ausgabe angezeigt werden. Dazu müssen Sie das -q hinzufügen Möglichkeit:

scp -q Desktop/sample_example.txt [email protected]:/home/remote_dir

Kopieren Sie eine Datei mit SCP im ausführlichen Modus

Sie können scp ausführen im ausführlichen Modus durch Hinzufügen von -v Option, die den Debug-Level auf 2 setzt. Dadurch werden Debugging-Informationen in der Ausgabe gedruckt, die Ihnen bei der Fehlersuche helfen können.

Fügen Sie -v hinzu Option nach scp um den ausführlichen Modus zu aktivieren, wie im folgenden Beispiel:

scp -v Desktop/sample_example.txt [email protected]:/home/remote_dir

Kopieren Sie eine Datei mit SCP und begrenzen Sie die Bandbreite

Eine weitere hilfreiche Option ist die Begrenzung der vom scp verwendeten Bandbreite Befehl durch Hinzufügen von -l Parameter. Dies ist besonders nützlich, wenn große Dateien kopiert werden, um zu verhindern, dass SCP die Bandbreite verbraucht.

Wenn Sie die Bandbreite begrenzen, müssen Sie die Zahl in Kilobit/s angeben. Beachten Sie, dass 1 Byte =8 Bit sind. Wenn Sie also die Bandbreite für SCP auf 100 KB/s begrenzen möchten, wäre der Wert für l in kbps 800 (100 x 8), wie im folgenden Befehl:

scp -l 800 Desktop/sample_example.txt [email protected]:/home/remote_dir

Kopieren Sie eine Datei mit SCP schneller

Um die Dateiübertragung von einem Server zum anderen zu beschleunigen, fügen Sie -C hinzu Option, die die Datei während der Übertragung komprimiert. Sobald die Datei ihr Ziel erreicht hat, nimmt sie wieder ihre normale Größe an.

scp -C Desktop/sample_example.txt [email protected]:/home/remote_dir

Kopieren Sie eine Datei mit SCP unter Verwendung einer bestimmten Verschlüsselung

Standardmäßig verwendet SCP AES-128 zum Verschlüsseln von Dateien. Der -c Mit der Option können Sie die Chiffre ändern, die SCP zum Verschlüsseln der Datei verwendet.

Um die Sicherheit zu erhöhen, können Sie beispielsweise auf die 3des-Verschlüsselung umschalten, wie im folgenden Beispiel:

scp -c 3des Desktop/sample_example.txt [email protected]:/home/remote_dir

Kopieren Sie eine Datei mit SCP unter Verwendung von IPv4 oder IPv6

Sie können SCP zwingen, abhängig von Ihren Anforderungen nur IPv4 oder IPv6 zu verwenden, indem Sie das -4 hinzufügen oder -6 Attribut.

Um eine Beispieldatei nur unter Verwendung von IPv6 von einem lokalen Server auf einen entfernten Host zu kopieren, würden Sie Folgendes ausführen:

scp -6 Desktop/sample_example.txt [email protected]:/home/remote_dir

Kopieren Sie eine Datei mit SCP unter Beibehaltung der Dateiattribute

Um eine Datei mit SCP zu kopieren und Dateiattribute wie Änderungs- und Zugriffszeiten, Modi und Berechtigungen beizubehalten, verwenden Sie -p Möglichkeit:

scp -p Desktop/sample_example.txt [email protected]:/home/remote_dir

Linux
  1. 14 Beispiele für SCP-Befehle zum sicheren Übertragen von Dateien unter Linux

  2. Kopieren Sie Dateien und Verzeichnisse unter Linux

  3. So kopieren Sie Dateien sicher zwischen Linux-Hosts mit SCP und SFTP

  4. SCP-Linux-Befehl – ​​So übertragen Sie SSH-Dateien von Remote auf Lokal

  5. So übertragen Sie Dateien sicher mit SCP

So kopieren Sie Dateien unter Linux mit dem CP-Befehl

4 Möglichkeiten zum Übertragen von Dateien und Verzeichnissen unter Linux

Arping-Befehl unter Linux erklärt

Linux SCP-Befehl zum sicheren Übertragen von Dateien

Sicheres Kopieren von Dateien mit dem SCP-Befehl

apropos Linux-Befehl erklärt {mit Beispielen}