Server

15 Möglichkeiten, den SCP-Befehl zum Übertragen von Daten unter Linux zu verwenden

15 Möglichkeiten, den SCP-Befehl zum Übertragen von Daten unter Linux zu verwenden

Wenn Sie Dateien und Verzeichnisse von einem Server/Localhost-Rechner auf einen anderen kopieren möchten, müssen Sie im Allgemeinen File-Sharing-Dienste wie Samba (SMB) oder NFS verwenden. Obwohl sie zuverlässig sind, ist es ein mühsamer Prozess, einmalige Dateien zu kopieren.

Das liegt daran, dass Sie einen Samba- oder NFS-Server einrichten und konfigurieren müssen. Daraus ergibt sich die Notwendigkeit, den SCP-Linux-Befehl zu verstehen und zu verwenden.

Der SCP-Befehl (Secure Copy) ist ein Linux-Dienstprogramm zum sicheren Kopieren von Dateien/Verzeichnissen zwischen Hosts. Es verwendet SSH (Secure Shell), um Benutzer zu übertragen und zu authentifizieren. Daher müssen Sie genau wie bei der Verwendung von SSH die Anmeldeinformationen Ihrer Remote-Hosts kennen.

Wenn Sie mit dem Linux-CP-Befehl zum Kopieren von Dateien und Verzeichnissen vertraut sind, ist SCP nicht viel anders. Der einzige hinzugefügte und nützliche Parameter ist der Hostname des entfernten Ziels. Schauen Sie sich die Syntax unten an.

scp file_name_to_copy username@destination_host:destination_directory_path

Im Parameter destination_host müssen Sie die IP-Adresse Ihres Remote-Hosts eingeben. Wenn Sie nicht wissen, wie Sie es finden können, führen Sie die ipconfig Befehl auf dem Terminal.

Beste Möglichkeiten, den SCP-Befehl unter Linux zu verwenden

In diesem Artikel werden wir uns 15 nützliche SCP-Befehle ansehen, die Sie in Ihrer täglichen Interaktion mit den Linux-Systemen verwenden können. Wir werden Ubuntu 18 verwenden.04 Virtuelle LTS Server-Maschine als unser Remote-Host.

1. Kopieren Sie eine einzelne Datei vom lokalen Computer auf einen Remote-Host

Es ist einer der einfachsten Befehle. Ich habe eine Datei namens Hallo.scp auf unserem lokalen Computer, die wir auf unseren Remote-Host kopieren werden. Siehe den Befehl unten.

scp Hallo.scp [email protected]:/home/tuts/FOSSLINUX

Kopieren Sie eine einzelne Datei vom lokalen Host auf einen Remote-Host

Auf der rechten Seite haben wir unseren localhost und auf der linken Seite ist unser Ubuntu Server. Wenn Sie dies zum ersten Mal tun, sollten Sie eine Warnung sehen, ob Sie die Verbindung fortsetzen möchten, geben Sie 'Ja.' Sie sollten eine Aufforderung sehen, Ihr Remote-Host-Passwort einzugeben. Durch Ausführen von an ls Befehl auf dem Remote-Host, sehen wir, dass wir unsere Datei erfolgreich kopiert haben.

2. Mehrere Dateien kopieren

Im vorherigen Befehl haben wir gesehen, wie wir eine einzelne Datei kopieren können. Um mehrere Dateien zu kopieren, verwenden Sie die Syntax im folgenden Befehl. Wir werden drei Dateien kopieren, Hallo1, Hallo2, und Hallo3.

scp Hallo1 Hallo2 Hallo3 [email protected]:/home/tuts/FOSSLINUX

Mehrere Dateien kopieren

Durch Laufen ls Befehl auf dem Remote-Host, wir sehen, dass wir die Dateien erfolgreich kopiert haben.

3. Kopieren Sie ein Verzeichnis rekursiv

Abgesehen von Dateien können wir SCP verwenden, um ein Verzeichnis vom lokalen Computer zu einem Remote-Ziel zu kopieren. Verwenden Sie die Syntax im Befehl unten. Wir werden den Ordner FOSSTUTS kopieren.

scp -r FOSSTUTS [email protected]:/home/tuts/FOSSLINUX

Kopieren Sie ein Verzeichnis mit dem SCP-Befehl

Beachten Sie, dass wir beim Ausführen einer Aktion für ein gesamtes Verzeichnis den Parameter -r einfügen müssen, der für rekursiv steht.

4. Kopieren von Dateien mit der ausführlichen Ausgabe

Das Einfügen eines ausführlichen Parameters in unsere SCP-Syntax druckt den gesamten Prozess aus, den SCP im Hintergrund ausführt. Lassen Sie uns mit dem Parameter -v (verbose) mehrere Dateien auf unseren Remote-Host kopieren.

scp Hallo1 Hallo2 Hallo3 [email protected]:/home/tuts/FOSSLINUX

Kopieren von Dateien mit der ausführlichen Ausgabe

Aus dem obigen Bild können Sie sehen, dass wir viel Ausgabe von dem Befehl haben, den wir auf unserem lokalen Computer ausgeführt haben. Es gibt Ihnen alle Details über die derzeit durchgeführte Operation.

5. Kopieren Sie Dateien über zwei Remote-Hosts

Angenommen, Sie verwalten mehrere Remote-Server und möchten eine Datei von einem Server auf einen anderen kopieren. Sehen Sie sich die Syntax im folgenden Befehl an.

scp [email protected]:/home/tuts/FOSSLINUX/Hallo1 [email protected]:/home/tuts/FOSSLINUX

Kopieren Sie Dateien über zwei Remote-Hosts

Wir kopieren die Datei Hallo1 vom Host 192.168.43.96 zum Host 192.168.83.132.

6. Komprimieren und Kopieren von Dateien

Um den Kopiervorgang zu beschleunigen und Bandbreite zu sparen, können Sie Ihre Dateien mit dem Parameter -C komprimieren. Die Daten werden auf Ihrem lokalen Computer im Handumdrehen komprimiert und auf dem Remote-Host dekomprimiert. Siehe die Syntax unten.

scp -vC Hello1 [email protected]:/home/tuts/FOSSLINUX

Dateien komprimieren und kopieren

Wir haben den Parameter -v (verbose) eingefügt, damit Sie sehen können, was passiert.

7. Bandbreite verwalten

Das Kopieren einer Datei auf einen Remote-Host kann als Upload erklärt werden. Wenn die Upload-Bandbreite hoch ist, kann dies Auswirkungen auf andere Prozesse haben, die im Hintergrund ausgeführt werden. Sie können die beim Kopiervorgang zu verwendende Bandbreite mit dem Parameter -l begrenzen. Siehe den Befehl unten.

scp -l 100 Hallo1 [email protected]:/home/tuts/FOSSLINUX

Bandbreite verwalten

Die von Ihnen zugewiesene Bandbreite wird in Kilobyte angegeben. Daher verwenden wir im obigen Befehl maximal 100 Kb/s, um unseren Kopiervorgang durchzuführen.

8. Verwenden Sie eine benutzerdefinierte Portnummerierung

Wie oben erläutert, verwendet SCP SSH, um den Prozess des Kopierens von Dateien durchzuführen. Standardmäßig läuft SSH auf Port 22; Wenn Sie jedoch einen SSH-Server auf dem Remote-Server so konfiguriert haben, dass er auf einem anderen Port läuft, können Sie dies in Ihrem SCP-Befehl angeben specify. Siehe den Befehl unten.

scp -P 22 Hallo1 [email protected]:/home/tuts/FOSSLINUX

Verwenden Sie eine benutzerdefinierte Portnummer mit SCP

Da ich keinen SSH-Server konfiguriert habe, belassen wir die Portnummer für diesen Beitrag auf 22.

9. Dateiattribute kopieren und beibehalten

Falls Sie eine Datei kopieren und Attribute wie Berechtigungen, Änderungszeiten, Zugriffszeiten usw. beibehalten möchten., Verwenden Sie den Parameter -p mit dem SCP-Befehl. Siehe den Befehl unten.

scp -P 22 Hallo1 [email protected]:/home/tuts/FOSSLINUX

Dateiattribute kopieren und beibehalten

Beachten Sie, dass das 'p' in diesem Beispiel ein Kleinbuchstabe ist, anders als bei der Verwendung einer benutzerdefinierten Portnummer.

10. SCP-Ausgabe mit dem Parameter -q unterdrücken

Angenommen, Sie möchten die SCP-Ausgabe, Fehlermeldungen, Warnungen oder sogar die Fortschrittsanzeige nicht drucken. Sie können dies mit dem Parameter -q erreichen, der alle SCP-Ausgaben unterdrückt.

scp -q Hallo1 [email protected]:/home/tuts/FOSSLINUX

SCP-Ausgabe mit dem Parameter -q unterdrücken.

Aus dem obigen Bild ist die einzige SCP-Ausgabe die Passwortaufforderung. Der Parameter -q unterdrückt alle anderen Ausgaben.

11. Verwenden Sie SCP, um eine Datei von einem Remote-Host auf Ihren lokalen Computer zu kopieren.

Für die meisten der obigen Beispiele kopieren wir Dateien von unserem lokalen Computer auf einen Remote-Server. Angenommen, Sie möchten eine Datei vom Remote-Server auf Ihren lokalen Computer kopieren. Sie sollten den SCP-Befehl mit einer kleinen Anpassung in der üblichen Syntax verwenden. Schau dir den Befehl unten an.

scp [email protected]:/home/tuts/FOSSLINUX/serverFile.txt /home/tuts/FOSSLINUX

Verwenden Sie SCP, um eine Datei von einem Remote-Host auf Ihren lokalen Computer zu kopieren.

Durch Ausführen eines ls Befehl auf unserem lokalen Computer sehen wir, dass die 'serverFile.txt' erfolgreich kopiert.

12. Kopieren Sie Dateien und Verzeichnisse ohne Passwörter zu verwenden

Aus den obigen Beispielen sehen wir, dass wir jedes Mal, wenn wir eine Datei kopieren müssen, zur Eingabe eines Passworts aufgefordert werden. Wir können diesen Schritt überspringen, indem wir SSH-Schlüssel generieren, die während des Authentifizierungsprozesses verwendet werden.

Um einen SSH-Schlüssel zu generieren, verwenden Sie den folgenden Befehl.

ssh-keygen -t rsa

Das System sollte einen SSH-Schlüssel generieren. Sie können den Vorgang an der Ausgabe im Terminal sehen. Jetzt müssen wir den Schlüssel auf unseren Remote-Host kopieren, um ihn für die Authentifizierung zu verwenden. Verwenden Sie den folgenden Befehl.

ssh-copy-id [email protected]

SSH-Schlüssel generieren

Versuchen wir nun, eine Datei von unserem lokalen Computer auf unseren Remote-Host zu kopieren.

scp Hallo1 [email protected]:/home/tuts/FOSSLINUX

Eine Datei ohne Passwort kopieren

Aus dem obigen Bild sehen wir, dass es keine Aufforderung zur Eingabe eines Passworts gab.

13. Verwenden Sie eine andere Verschlüsselung

SCP verwendet die AES-Verschlüsselung/-Verschlüsselung, um Dateien sicher zu kopieren. Sie können jedoch mit dem Parameter -c ein anderes Verschlüsselungsschema angeben. Beachten Sie das c ist ein Kleinbuchstabe im Gegensatz zur Komprimierung, bei der die C ist in Großbuchstaben. Siehe den Befehl unten.

scp -c [email protected] TESTDATEI [email protected]:/home/tuts/FOSSLINUX

Verwenden Sie eine andere Verschlüsselung

Wir haben das Verschlüsselungsschema, das wir verwenden möchten, als AES angegeben. Sie können auch andere wie Kugelfische und viele mehr verwenden.

scp -c Kugelfisch TESTFILE [email protected]:/home/tuts/FOSSLINUX

14. Verwenden Sie die SSH-Schlüsseldatei anstelle eines Passworts

SCP ermöglicht Ihnen die Verwendung einer Schlüsseldatei anstelle eines Kennworts, um den Authentifizierungsprozess mit dem Parameter -i gefolgt von der Schlüsseldatei abzuschließen. Siehe den Befehl unten.

scp -c privater Schlüssel.pem TESTFILE [email protected]:/home/tuts/FOSSLINUX

Verwenden Sie eine Schlüsseldatei anstelle eines Passworts

fünfzehn. Verwenden Sie ein SCP-Shell-Skript, um Dateien zu kopieren

Angenommen, Sie müssen den SCP-Befehl regelmäßig verwenden, können Sie ein Shell-Skript schreiben, um den gesamten Prozess zu vereinfachen. In diesem Artikel werden wir ein Skript schreiben, das den Zielhost aus der Zieldatei liest.TXT.

Das destfile.txt-Datei

Unten ist unser SCP-Skript

echo "STARTING SCP SCRIPT" echo echo -e "Geben Sie den Pfad zu der Datei ein, die Sie kopieren möchten:\c" read file for dest in 'cat /tmp/destfile.TXT'; do scp -rC $file $dest:/tmp/ done

Speichern Sie die Datei mit a '.Sch.' Erweiterung, da es sich um ein Bash-Skript handelt. Machen Sie das Skript mit dem Befehl chmod ausführbar, wie in der Abbildung unten gezeigt, bevor Sie es ausführen.

Verwenden Sie ein SCP-Shell-Skript

Fazit

Dies sind 15 SCP-Praxisbeispiele, die Sie anwenden können, um Ihnen das Arbeiten mit Linux-Systemen zu erleichtern. Haben Sie einen SCP-Befehl, den Sie mit unseren Lesern teilen möchten?? Hinterlasse unten einen Kommentar. Wenn Sie diesen Artikel einfallsreich finden, teilen Sie den Link bitte mit einem Freund.

Top 5 Karten zur Spielaufnahme
Wir alle haben Streaming-Gameplays auf YouTube gesehen und geliebt. PewDiePie, Jakesepticye und Markiplier sind nur einige der Top-Gamer, die Millione...
So entwickeln Sie ein Spiel unter Linux
Vor einem Jahrzehnt hätten nicht viele Linux-Benutzer vorhergesagt, dass ihr Lieblingsbetriebssystem eines Tages eine beliebte Spieleplattform für kom...
Open-Source-Ports kommerzieller Spiele-Engines
Kostenlose, quelloffene und plattformübergreifende Spiel-Engine-Nachbildungen können verwendet werden, um sowohl alte als auch einige der relativ neue...