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

So verwenden Sie den SCP-Befehl zum sicheren Übertragen von Dateien

SCP (Secure Copy) ist ein Befehlszeilenprogramm, mit dem Sie Dateien und Verzeichnisse sicher zwischen zwei Orten kopieren können.

Mit scp , können Sie eine Datei oder ein Verzeichnis kopieren:

  • Von Ihrem lokalen System zu einem entfernten System.
  • Von einem entfernten System zu Ihrem lokalen System.
  • Zwischen zwei entfernten Systemen von Ihrem lokalen System.

Beim Übertragen von Daten mit scp , werden sowohl die Dateien als auch das Passwort verschlüsselt, sodass niemand, der den Datenverkehr ausspioniert, an sensible Daten gelangt.

In diesem Tutorial zeigen wir Ihnen, wie Sie scp verwenden Befehl durch praktische Beispiele und detaillierte Erklärungen der gebräuchlichsten scp-Optionen.

SCP-Befehlssyntax #

Bevor wir auf die Verwendung von scp eingehen Befehl, beginnen wir mit der Überprüfung der grundlegenden Syntax.

Das scp Die Befehlssyntax hat folgende Form:

scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2
  • OPTION - scp-Optionen wie Chiffre, SSH-Konfiguration, SSH-Port, Limit, rekursives Kopieren …etc.
  • [user@]SRC_HOST:]file1 - Quelldatei.
  • [user@]DEST_HOST:]file2 - Zieldatei

Lokale Dateien sollten mit einem absoluten oder relativen Pfad angegeben werden, während entfernte Dateinamen eine Benutzer- und Hostangabe enthalten sollten.

scp bietet eine Reihe von Optionen, die jeden Aspekt seines Verhaltens steuern. Die am häufigsten verwendeten Optionen sind:

  • -P - Gibt den SSH-Port des Remote-Hosts an.
  • -p - Bewahrt Dateiänderungen und Zugriffszeiten.
  • -q - Verwenden Sie diese Option, wenn Sie die Fortschrittsanzeige und Nicht-Fehlermeldungen unterdrücken möchten.
  • -C - Diese Option erzwingt scp um die Daten zu komprimieren, wenn sie an die Zielmaschine gesendet werden.
  • -r - Diese Option teilt scp mit Verzeichnisse rekursiv zu kopieren.

Bevor Sie beginnen #

Das scp Der Befehl ist auf ssh angewiesen für die Datenübertragung, daher ist ein SSH-Schlüssel oder ein Kennwort erforderlich, um sich auf den Remote-Systemen zu authentifizieren.

Der Doppelpunkt (: ) ist wie scp zwischen lokalen und entfernten Standorten unterscheiden.

Um Dateien kopieren zu können, benötigen Sie mindestens Leserechte auf der Quelldatei und Schreibrechte auf dem Zielsystem.

Seien Sie vorsichtig beim Kopieren von Dateien, die auf beiden Systemen denselben Namen und Speicherort haben, scp überschreibt Dateien ohne Warnung.

Beim Übertragen großer Dateien wird empfohlen, scp auszuführen Befehl innerhalb eines Bildschirms oder einer tmuxsession.

Dateien und Verzeichnisse zwischen zwei Systemen mit scp kopieren #

Kopieren Sie eine lokale Datei mit dem scp auf ein Remote-System Befehl #

Führen Sie den folgenden Befehl aus, um eine Datei von einem lokalen auf ein entferntes System zu kopieren:

scp file.txt [email protected]:/remote/directory

Wobei file.txt ist der Name der Datei, die wir kopieren möchten, remote_username ist der Benutzer auf dem Remote-Server, 10.10.0.2 ist die IP-Adresse des Servers. Das /remote/directory ist der Pfad zu dem Verzeichnis, in das Sie die Datei kopieren möchten. Wenn Sie kein Remote-Verzeichnis angeben, wird die Datei in das Home-Verzeichnis des Remote-Benutzers kopiert.

Sie werden aufgefordert, das Benutzerkennwort einzugeben, und der Übertragungsprozess beginnt.

[email protected]'s password:
file.txt                             100%    0     0.0KB/s   00:00

Wenn Sie den Dateinamen am Zielort weglassen, wird die Datei mit dem ursprünglichen Namen kopiert. Wenn Sie die Datei unter einem anderen Namen speichern möchten, müssen Sie den neuen Dateinamen angeben:

scp file.txt [email protected]:/remote/directory/newfilename.txt

Wenn SSH auf dem Remote-Host auf einem anderen Port als dem Standardport 22 lauscht, können Sie den Port mit -P angeben Argument:

scp -P 2322 file.txt [email protected]:/remote/directory

Der Befehl zum Kopieren eines Verzeichnisses ähnelt dem Kopieren von Dateien. Der einzige Unterschied besteht darin, dass Sie den -r verwenden müssen Flag für rekursiv.

Um ein Verzeichnis von einem lokalen auf ein entferntes System zu kopieren, verwenden Sie den -r Möglichkeit:

scp -r /local/directory [email protected]:/remote/directory

Kopieren Sie eine Remote-Datei mit dem scp auf ein lokales System Befehl #

Um eine Datei von einem entfernten auf ein lokales System zu kopieren, verwenden Sie den entfernten Speicherort als Quelle und den lokalen Speicherort als Ziel.

Zum Beispiel, um eine Datei namens file.txt zu kopieren von einem entfernten Server mit IP 10.10.0.2 Führen Sie den folgenden Befehl aus:

scp [email protected]:/remote/file.txt /local/directory

Wenn Sie keine kennwortlose SSH-Anmeldung auf dem Remote-Computer eingerichtet haben, werden Sie aufgefordert, das Benutzerkennwort einzugeben.

Kopieren Sie eine Datei zwischen zwei entfernten Systemen mit dem scp Befehl #

Im Gegensatz zu rsync , wenn scp verwendet wird Sie müssen sich nicht bei einem der Server anmelden, um Dateien von einem auf einen anderen Remote-Computer zu übertragen.

Der folgende Befehl kopiert die Datei /files/file.txt vom entfernten Host host1.com in das Verzeichnis /files auf dem entfernten Host host2.com .

scp [email protected]:/files/file.txt [email protected]:/files

Sie werden aufgefordert, die Kennwörter für beide Remote-Konten einzugeben. Die Daten werden direkt von einem entfernten Host zum anderen übertragen.

Um den Datenverkehr durch die Maschine zu leiten, auf der der Befehl ausgegeben wird, verwenden Sie -3 Möglichkeit:

scp -3 [email protected]:/files/file.txt [email protected]:/files

Schlussfolgerung #

In diesem Tutorial haben Sie gelernt, wie man scp verwendet Befehl zum Kopieren von Dateien und Verzeichnissen.

Sie können auch eine auf SSH-Schlüsseln basierende Authentifizierung einrichten und sich mit Ihren Linux-Servern verbinden, ohne ein Passwort einzugeben.

Wenn Sie sich regelmäßig mit denselben Systemen verbinden, können Sie Ihren Arbeitsablauf vereinfachen, indem Sie alle Ihre Verbindungen in der SSH-Konfigurationsdatei definieren.


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

  2. So verwenden Sie den SFTP-Befehl für die sichere Dateiübertragung

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

  4. So übertragen Sie Dateien sicher mit SCP

  5. So übertragen Sie Dateien sicher mit dem SCP-Befehl unter Linux

So verwenden Sie den Truncate-Befehl unter Linux

So verwenden Sie einen Dateibefehl unter Linux

So verwenden Sie den SCP-Befehl unter Linux

Linux SCP-Befehl zum sicheren Übertragen von Dateien

So verwenden Sie den Befehl lsof unter Linux

So verwenden Sie den Linux-Befehl shred