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

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

SCP (Secure Copy) ist ein Befehlszeilentool in Linux- und Unix-ähnlichen Systemen, das zum sicheren Übertragen von Dateien und Verzeichnissen zwischen den Systemen über das Netzwerk verwendet wird. Wenn wir den scp-Befehl verwenden, um Dateien und Verzeichnisse von unserem lokalen System auf das Remote-System zu kopieren, stellt er im Backend eine ssh-Verbindung her zum entfernten System. Mit anderen Worten, wir können sagen, dass scp denselben SSH-Sicherheitsmechanismus verwendet im Backend benötigt es entweder ein Passwort oder Schlüssel zur Authentifizierung.

In diesem Tutorial werden wir den scp-Befehl unter Linux mit praktischen Beispielen besprechen.

Syntax des scp-Befehls:

# scp [E-Mail-geschützt]_host:/

# scp [email protected]_host:/files  

Die erste Syntax des Befehls scp zeigt, wie Dateien oder Verzeichnisse vom lokalen System auf den Zielhost unter dem jeweiligen Ordner kopiert werden.

Die zweite Syntax des scp-Befehls zeigt, wie Dateien vom Zielhost in das lokale System kopiert werden.

Einige der am häufigsten verwendeten Optionen im scp-Befehl sind unten aufgeführt,

  •  -C         Komprimierung aktivieren
  •  -i           Identitätsdatei oder privater Schlüssel
  •  -l           Bandbreite beim Kopieren begrenzen
  •  -P          SSH-Portnummer des Zielhosts
  •  -p          Behält Berechtigungen, Modi und Zugriffszeit von Dateien beim Kopieren bei
  •  -q          Warnmeldung von SSH unterdrücken
  •   -r          Dateien und Verzeichnisse rekursiv kopieren
  •   -v          ausführliche Ausgabe

Lassen Sie uns jetzt zu den Beispielen springen!!!!

Beispiel 1) Kopieren einer Datei vom lokalen System auf das entfernte System mit scp

Angenommen, wir möchten das jdk-RPM-Paket von unserem lokalen Linux-System auf das Remote-System (172.20.10.8) mit dem scp-Befehl kopieren, verwenden Sie den folgenden Befehl,

[[email protected] ~]$ scp jdk-linux-x64_bin.rpm [email protected]:/opt[email protected]'s password:jdk-linux-x64_bin.rpm                         100 %   10 MB   27,1 MB/s   00:00[[email protected] ~]$

Der obige Befehl kopiert die JDK-RPM-Paketdatei auf das Remote-System im /opt-Ordner.

Beispiel 2) Kopieren einer Datei vom entfernten System auf das lokale System mit scp

Angenommen, wir möchten eine Datei vom Remote-System auf unser lokales System im Ordner /tmp kopieren, führen Sie den folgenden scp-Befehl aus,

[[email protected] ~]$ scp [email protected]:/root/Technical-Doc-RHS.odt /tmp[email protected]'s password:Technical-Doc-RHS.odt                        100 % 1109 KB  31,8 MB/ s   00:00[[email protected] ~]$ ls -l /tmp/Technical-Doc-RHS.odt-rwx------. 1 pkumar pkumar 1135521 19. Okt. 11:12 /tmp/Technical-Doc-RHS.odt[[email protected] ~]$

 Beispiel 3) Ausführliche Ausgabe beim Übertragen von Dateien mit scp (-v)

Im scp-Befehl können wir die ausführliche Ausgabe mit der Option -v aktivieren, mit der ausführlichen Ausgabe können wir leicht herausfinden, was genau im Hintergrund passiert. Dies ist sehr nützlich beim Debuggen von Verbindungen , Authentifizierung und Konfigurationsprobleme .

[email protected] ~]$ scp -v jdk-linux-x64_bin.rpm [email protected]:/optExecuting:program /usr/bin/ssh host 172.20.10.8, user root, command scp -v -t / optOpenSSH_7.8p1, OpenSSL 1.1.1 FIPS  11. September 2018debug1:Konfigurationsdaten lesen /etc/ssh/ssh_configdebug1:Konfigurationsdaten lesen /etc/ssh/ssh_config.d/05-redhat.confdebug1:Konfigurationsdaten lesen /etc/crypto-policies /back-ends/openssh.configdebug1:/etc/ssh/ssh_config.d/05-redhat.conf Zeile 8:Applying options for *debug1:Connecting to 172.20.10.8 [172.20.10.8] port 22.debug1:Verbindung hergestellt. …………debug1:Nächste Authentifizierungsmethode:Passwort[email protected]'s Passwort:

Beispiel 4) Mehrere Dateien auf ein Remote-System übertragen

Mehrere Dateien können mit dem scp-Befehl auf einmal auf das Remote-System kopiert/übertragen werden, im scp-Befehl geben Sie die mehreren Dateien durch Leerzeichen getrennt an, das Beispiel ist unten gezeigt

[[email protected] ~]$ scp install.txt index.html jdk-linux-x64_bin.rpm \ [email protected]:/mnt[email protected]'s password:install.txt                                      100 %    0     0.0KB/ S 00:00 100%85 KB 7,2 MB/S 00:00JDK-linux-x64_Bin.RPM 100%10 MB 25,3 MB/S 00:00 [[E-Mail geschützt] ~ $ 

Beispiel 5) Übertragen Sie Dateien zwischen zwei Remote-Hosts

Mit dem scp-Befehl können wir Dateien und Verzeichnisse zwischen zwei entfernten Hosts kopieren, nehmen wir an, wir haben ein lokales Linux-System, das eine Verbindung zu zwei entfernten Linux-Systemen herstellen kann, also kann ich von meinem lokalen Linux-System aus den scp-Befehl verwenden, um Dateien zwischen diesen beiden Systemen zu kopieren.

Syntax:

# scp [E-Mail-geschützt]_hosts1:/  [E-Mail-geschützt]_host2:/

Beispiel ist unten gezeigt,

# scp [E-Mail-geschützt]:~/backup-Oct.zip [E-Mail-geschützt]:/tmp# ssh [E-Mail-geschützt] "ls -l /tmp/backup-Oct.zip"-rwx----- -. 1 root root 747438080 19. Okt 12:02 /tmp/backup-Oct.zip

Beispiel 6) Dateien und Verzeichnisse rekursiv kopieren (-r)

Verwenden Sie die Option -r im scp-Befehl, um das gesamte Verzeichnis rekursiv von einem System auf ein anderes zu kopieren, das Beispiel ist unten gezeigt,

[[email protected] ~]$ scp -r Downloads [email protected]:/opt

Verwenden Sie den folgenden Befehl, um zu überprüfen, ob der Download-Ordner auf das Remote-System kopiert wurde oder nicht,

[[email protected] ~]$ ssh [email protected] "ls -ld /opt/Downloads"drwxr-xr-x. 2 root root 75 Okt 19 12:10 /opt/Downloads[[email protected] ~]$

Beispiel 7) Erhöhen Sie die Übertragungsgeschwindigkeit, indem Sie die Komprimierung aktivieren (-C)

Im Befehl scp können wir die Übertragungsgeschwindigkeit erhöhen, indem wir die Komprimierung mit der Option -C aktivieren. Dadurch wird automatisch die Komprimierung an der Quelle und die Dekomprimierung am Zielhost aktiviert.

[E-Mail-geschützt] ~]$ scp -r -C Downloads [E-Mail-geschützt]:/mnt

Im obigen Beispiel übertragen wir das Download-Verzeichnis mit aktivierter Komprimierung.

Beispiel 8) Bandbreite beim Kopieren begrenzen ( -l )

Verwenden Sie die Option „-l“ im scp-Befehl, um die Bandbreitennutzung beim Kopieren zu begrenzen. Die Bandbreite wird in Kbit/s angegeben, ein Beispiel ist unten gezeigt,

[[E-Mail-geschützt] ~]$ scp -l 500 jdk-linux-x64_bin.rpm  [E-Mail-geschützt]:/var

Beispiel 9) Geben Sie einen anderen ssh-Port an, während scp ( -P)

Es kann ein Szenario geben, in dem der SSH-Port auf dem Zielhost geändert wird, sodass wir bei Verwendung des scp-Befehls die SSH-Portnummer mit der Option „-P“ angeben können.

[[email protected] ~]$ scp -P 2022 jdk-linux-x64_bin.rpm  [email protected]:/var

Im obigen Beispiel ist der SSH-Port für den Remote-Host „2022“

Beispiel 10) Behält Berechtigungen, Modi und Zugriffszeit von Dateien beim Kopieren bei (-p)

Verwenden Sie die Option „-p“ im scp-Befehl, um Berechtigungen, Zugriffszeit und Modi beim Kopieren von der Quelle zum Ziel beizubehalten

[[email protected] ~]$ scp -p jdk-linux-x64_bin.rpm  [email protected]:/var/tmpjdk-linux-x64_bin.rpm                           100 %   10 MB  13,5 MB/s   00:00[[email protected ] ~]$

Beispiel 11) Übertragen von Dateien im stillen Modus ( -q) in scp

Verwenden Sie die Option „-q“ im scp-Befehl, um den Übertragungsfortschritt sowie Warn- und Diagnosemeldungen von ssh zu unterdrücken. Beispiel ist unten gezeigt,

[[E-Mail-geschützt] ~]$ scp -q -r Lädt [E-Mail-geschützt] herunter:/var/tmp[[E-Mail-geschützt] ~]$

Beispiel 12) Verwenden Sie Datei identifizieren in scp während der Übertragung ( -i )

In den meisten Linux-Umgebungen wird die schlüsselbasierte Authentifizierung bevorzugt. Im scp-Befehl geben wir die Identifizierungsdatei oder die private Schlüsseldatei mit der Option „-i“ an, das Beispiel ist unten gezeigt,

[[email protected] ~]$ scp -i my_key.pem -r Downloads [email protected]:/root

Im obigen Beispiel ist „my_key.pem“ die Identitätsdatei oder private Schlüsseldatei.

Beispiel 13) Verwenden Sie eine andere „ssh_config“-Datei in scp (-F)

Es gibt einige Szenarien, in denen Sie verschiedene Netzwerke verwenden, um sich mit Linux-Systemen zu verbinden, möglicherweise befindet sich ein Netzwerk hinter Proxy-Servern, also müssen wir in diesem Fall unterschiedliche ssh_config haben Datei.

Eine andere ssh_config-Datei im scp-Befehl wird über die Option „-F“ angegeben, ein Beispiel ist unten gezeigt

[[email protected] ~]$ scp -F /home/pkumar/new_ssh_config -r Downloads \ [email protected]:/root[email protected]'s password:jdk-linux-x64_bin.rpm                     100 %   10 MB  16.6 Mb/s 00:00backup-oct.zip 100%713 MB 41,9 MB/S 00:17Index 

Beispiel 14) Verwenden Sie eine andere Verschlüsselung im scp-Befehl (-c)

Standardmäßig verwendet scp die Verschlüsselung „AES-128“, um die Dateien zu verschlüsseln. Wenn Sie eine andere Chiffre im scp-Befehl verwenden möchten, verwenden Sie die Option „-c“, gefolgt vom Chiffrennamen,

Angenommen, wir möchten die Chiffre „3des-cbc“ im scp-Befehl verwenden, während wir die Dateien übertragen, führen Sie den folgenden scp-Befehl

aus
[[email protected] ~]# scp -c 3des-cbc -r Downloads [email protected]:/root

Verwenden Sie den folgenden Befehl, um ssh- und scp-Chiffren aufzulisten,

[[email protected] ~]# ssh -Q cipher localhost | paste -d , -s -3des-cbc,aes128-cbc,aes192-cbc,aes256-cbc,[E-Mail-geschützt],\aes128-ctr,aes192-ctr,aes256-ctr,[E-Mail-geschützt],[E-Mail-geschützt] ,\[email protected][[email protected] ~]#

Das ist alles aus diesem Tutorial, um mehr Details über den scp-Befehl zu erhalten, verweisen Sie bitte auf seine Manpage. Bitte teilen Sie Ihr Feedback und Ihre Kommentare im Kommentarbereich unten.

Auch lesen11 „df“-Befehlsbeispiele in Linux


Linux
  1. Befehl zum Herunterfahren von Linux (mit Beispielen)

  2. „shutdown“-Befehlsbeispiele in Linux

  3. resize2fs-Befehlsbeispiele in Linux

  4. diff-Befehlsbeispiele in Linux

  5. localectl-Befehlsbeispiele in Linux

Rsync-Beispiele zum Übertragen von Dateien unter Linux

Nützliche Wget-Befehlsbeispiele im Linux-System

15 Nützliche Beispiele für Touch-Befehle im Linux-System

Linux SCP-Befehl zum sicheren Übertragen von Dateien

lsof-Befehl unter Linux mit Beispielen

Linux-Comm-Befehl mit Beispielen