Android

Verwendung des Befehls scp zum sicheren Übertragen von Dateien

Server einrichten Tutorial #5 - Über SSH und Putty einloggen

Server einrichten Tutorial #5 - Über SSH und Putty einloggen

Inhaltsverzeichnis:

Anonim

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

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

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

Beim Übertragen von Daten mit scp werden sowohl die Dateien als auch das Kennwort verschlüsselt, sodass jeder, der den Datenverkehr untersucht, nicht sensibel wird.

In diesem Tutorial zeigen wir Ihnen scp von praktischen Beispielen und detaillierten Erklärungen der gebräuchlichsten scp-Optionen, wie Sie den scp Befehl verwenden.

SCP-Befehlssyntax

Bevor wir uns mit der Verwendung des Befehls scp , überprüfen wir zunächst die grundlegende Syntax.

Die scp Befehlssyntax hat die folgende Form:

scp SRC_HOST:]file1 DEST_HOST:]file2

  • OPTION - SCP-Optionen wie Verschlüsselung, SSH-Konfiguration, SSH-Port, Limit, rekursive Kopie usw. SRC_HOST:]file1 - SRC_HOST:]file1 . DEST_HOST:]file2 - DEST_HOST:]file2

Lokale Dateien sollten unter Verwendung eines absoluten oder relativen Pfads angegeben werden, während Remotedateinamen eine Benutzer- und Hostspezifikation 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 Erhält die Änderungs- und Zugriffszeiten für Dateien. -q Verwenden Sie diese Option, wenn Sie die Fortschrittsanzeige und Nicht-Fehlermeldungen unterdrücken möchten. -C . Diese Option scp , dass scp die Daten komprimiert, wenn sie an den scp gesendet werden. -r Diese Option scp an, Verzeichnisse rekursiv zu kopieren.

Bevor Sie beginnen

Der Befehl scp ssh für die Datenübertragung, sodass zur Authentifizierung auf den Remote-Systemen ein SSH-Schlüssel oder ein Kennwort erforderlich ist.

Der Doppelpunkt ( scp gibt an, wie scp zwischen lokalen und entfernten Standorten unterscheidet.

Um Dateien kopieren zu können, müssen Sie mindestens Leseberechtigungen für die Quelldatei und Schreibberechtigungen für das Zielsystem besitzen.

Seien Sie vorsichtig, wenn Sie Dateien kopieren, die auf beiden Systemen denselben Namen und denselben Speicherort haben. scp überschreibt Dateien ohne Vorwarnung.

Beim Übertragen großer Dateien wird empfohlen, den Befehl scp in einer Bildschirm- oder einer tmux-Sitzung auszuführen.

Kopieren Sie Dateien und Verzeichnisse zwischen zwei Systemen mit scp

Kopieren Sie eine lokale Datei mit dem Befehl scp auf ein fernes System

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

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

Dabei ist file.txt der Name der zu kopierenden Datei, remote_username der Benutzer auf dem Remote-Server und 10.10.0.2 die Server-IP-Adresse. 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 Benutzerpasswort einzugeben, und der Übertragungsvorgang wird gestartet.

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

Das Weglassen des Dateinamens vom Zielspeicherort kopiert die Datei mit dem ursprünglichen Namen. 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 einen anderen Port als den Standard-Port 22 überwacht, können Sie den Port mit dem Argument -P angeben:

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

Der Befehl zum Kopieren eines Verzeichnisses ist ähnlich wie beim Kopieren von Dateien. Der einzige Unterschied ist, dass Sie das Flag -r für rekursive verwenden müssen.

Verwenden Sie die Option -r , um ein Verzeichnis von einem lokalen auf ein fernes System zu kopieren:

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

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

Verwenden Sie zum Kopieren einer Datei von einem Remotestandort auf ein lokales System den Remotestandort als Quelle und den lokalen Standort als Ziel.

Um beispielsweise eine Datei mit dem Namen file.txt von einem Remote-Server mit IP 10.10.0.2 führen Sie den folgenden Befehl aus:

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

Kopieren Sie eine Datei zwischen zwei Remote-Systemen mit dem Befehl scp

Im Gegensatz zu rsync müssen Sie sich bei der Verwendung von scp nicht bei einem der Server anmelden, um Dateien von einem auf einen anderen Remotecomputer zu übertragen.

Der folgende Befehl kopiert die Datei /files/file.txt vom Remote-Host host1.com in das Verzeichnis /files auf dem Remote-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 Remote-Host zum anderen übertragen.

Verwenden Sie die Option -3 , um den Datenverkehr durch den Computer zu leiten, auf dem der Befehl ausgegeben wird:

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

Fazit

In diesem Tutorial haben Sie gelernt, wie Sie mit dem Befehl scp Dateien und Verzeichnisse kopieren.

Möglicherweise möchten Sie auch eine SSH-Schlüssel-basierte Authentifizierung einrichten und eine Verbindung zu Ihren Linux-Servern herstellen, ohne ein Kennwort einzugeben.

SCP-Terminal