GNU/Linux >> Znalost Linux >  >> Linux

14 Příklady příkazů SCP pro bezpečný přenos souborů v systému Linux

SCP (Secure Copy) je nástroj příkazového řádku v systémech Linux a Unix, který se používá k bezpečnému přenosu souborů a adresářů mezi systémy přes síť. Když použijeme příkaz scp ke kopírování souborů a adresářů z našeho lokálního systému do vzdáleného systému, pak v backendu vytvoří ssh připojení do vzdáleného systému. Jinými slovy, můžeme říci, že scp používá stejný bezpečnostní mechanismus SSH v backendu potřebuje k ověření buď heslo, nebo klíče.

V tomto tutoriálu probereme příkaz scp v linuxu s praktickými příklady.

Syntaxe příkazu scp:

# scp [chráněno e-mailem]_host:/

# scp [e-mail chráněný]_host:/files  

První syntaxe příkazu scp ukazuje, jak kopírovat soubory nebo adresáře z místního systému do cílového hostitele v konkrétní složce.

Druhá syntaxe příkazu scp ukazuje, jak se soubory z cílového hostitele kopírují do místního systému.

Některé z nejrozšířenějších voleb v příkazu scp jsou uvedeny níže,

  •  -C         Povolit kompresi
  •  -i           soubor identity nebo soukromý klíč
  •  -l           omezit šířku pásma při kopírování
  •  -P          Číslo portu ssh cílového hostitele
  •  -p          Zachovává oprávnění, režimy a dobu přístupu k souborům při kopírování
  •  -q          Potlačit varovnou zprávu SSH
  •   -r          Rekurzivně kopírovat soubory a adresáře
  •   -v          podrobný výstup

Pojďme se nyní vrhnout na příklady!!!!

Příklad 1) Zkopírujte soubor z místního systému do vzdáleného systému pomocí scp

Předpokládejme, že chceme zkopírovat balíček jdk rpm z našeho místního systému Linux do vzdáleného systému (172.20.10.8) pomocí příkazu scp, použijte následující příkaz,

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

Výše uvedený příkaz zkopíruje soubor balíčku jdk rpm do vzdáleného systému do složky /opt.

Příklad 2) Zkopírujte soubor ze vzdáleného systému do místního systému pomocí scp

Předpokládejme, že chceme zkopírovat soubor ze vzdáleného systému do našeho místního systému do složky /tmp, spusťte následující příkaz scp,

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

 Příklad 3) Podrobný výstup při přenosu souborů pomocí scp (-v)

V příkazu scp můžeme povolit podrobný výstup pomocí volby -v, pomocí podrobného výstupu snadno zjistíme, co se přesně děje na pozadí. To se stává velmi užitečné při ladění připojení , ověření a problémy s konfigurací .

[email protected] ~]$ scp -v jdk-linux-x64_bin.rpm [email protected]:/opt
Executing: program /usr/bin/ssh host 172.20.10.8, user root, command scp -v -t /opt
OpenSSH_7.8p1, OpenSSL 1.1.1 FIPS  11 Sep 2018
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Reading configuration data /etc/ssh/ssh_config.d/05-redhat.conf
debug1: Reading configuration data /etc/crypto-policies/back-ends/openssh.config
debug1: /etc/ssh/ssh_config.d/05-redhat.conf line 8: Applying options for *
debug1: Connecting to 172.20.10.8 [172.20.10.8] port 22.
debug1: Connection established.
…………
debug1: Next authentication method: password
[email protected]'s password:

Příklad 4) Přeneste více souborů do vzdáleného systému

Více souborů lze zkopírovat / přenést do vzdáleného systému pomocí příkazu scp najednou, v příkazu scp zadejte více souborů oddělených mezerou, příklad je uveden níže

[[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
index.html                                       100%   85KB   7.2MB/s   00:00
jdk-linux-x64_bin.rpm                            100%   10MB  25.3MB/s   00:00
[[email protected] ~]$

Příklad 5) Přeneste soubory přes dva vzdálené hostitele

Pomocí příkazu scp můžeme kopírovat soubory a adresáře mezi dvěma vzdálenými hostiteli, předpokládejme, že máme místní systém Linux, který se může připojit ke dvěma vzdáleným systémům Linux, takže z mého místního systému linux mohu použít příkaz scp ke kopírování souborů napříč těmito dvěma systémy,

Syntaxe:

# scp [chráněno e-mailem]_hosts1:/  [chráněno e-mailem]_host2:/

Příklad je uveden níže,

# scp [email protected]:~/backup-Oct.zip [email protected]:/tmp
# ssh [email protected] "ls -l /tmp/backup-Oct.zip"
-rwx------. 1 root root 747438080 Oct 19 12:02 /tmp/backup-Oct.zip

Příklad 6) Kopírování souborů a adresářů rekurzivně (-r)

Použijte volbu -r v příkazu scp k rekurzivnímu zkopírování celého adresáře z jednoho systému do druhého, příklad je uveden níže,

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

Pomocí níže uvedeného příkazu ověřte, zda je složka pro stahování zkopírována do vzdáleného systému,

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

Příklad 7) Zvyšte přenosovou rychlost povolením komprese (-C)

V příkazu scp můžeme zvýšit přenosovou rychlost povolením komprese pomocí volby -C, automaticky povolí kompresi u zdroje a dekompresi u cílového hostitele.

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

Ve výše uvedeném příkladu přenášíme adresář Download s povolenou kompresí.

Příklad 8) Omezte šířku pásma při kopírování ( -l )

Použijte volbu „-l“ v příkazu scp k omezení využití šířky pásma při kopírování. Šířka pásma je uvedena v Kbit/s, příklad je uveden níže,

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

Příklad 9) Určete jiný port ssh při scp ( -P)

Může nastat situace, kdy se port ssh na cílovém hostiteli změní, takže při použití příkazu scp můžeme zadat číslo portu ssh pomocí možnosti „-P“.

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

Ve výše uvedeném příkladu je port ssh pro vzdáleného hostitele „2022“

Příklad 10) Zachovává oprávnění, režimy a dobu přístupu souborů při kopírování (-p)

Použijte volbu „-p“ v příkazu scp k zachování oprávnění, času přístupu a režimů při kopírování ze zdroje do cíle

[[email protected] ~]$ scp -p jdk-linux-x64_bin.rpm  [email protected]:/var/tmp
jdk-linux-x64_bin.rpm                            100%   10MB  13.5MB/s   00:00
[[email protected] ~]$

Příklad 11) Přenos souborů v tichém režimu ( -q) v scp

Použijte volbu „-q“ v příkazu scp k potlačení průběhu přenosu, varovných a diagnostických zpráv ssh. Příklad je uveden níže,

[[email protected] ~]$ scp -q -r Downloads [email protected]:/var/tmp
[[email protected] ~]$

Příklad 12) Při přenosu použijte Identify file in scp ( -i)

Ve většině prostředí Linuxu je preferována autentizace založená na klíčích. V příkazu scp specifikujeme identifikační soubor nebo soubor soukromého klíče pomocí volby „-i“, příklad je uveden níže,

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

Ve výše uvedeném příkladu je „my_key.pem“ soubor identity nebo soubor soukromého klíče.

Příklad 13) Použijte jiný soubor „ssh_config“ v scp ( -F)

Existují některé scénáře, kdy pro připojení k systémům Linux používáte různé sítě, může se stát, že některá síť je za proxy servery, takže v takovém případě musíme mít různé ssh_config soubor.

Odlišný soubor ssh_config v příkazu scp je specifikován pomocí volby „-F“, příklad je uveden níže

[[email protected] ~]$ scp -F /home/pkumar/new_ssh_config -r Downloads \ 
[email protected]:/root
[email protected]'s password:
jdk-linux-x64_bin.rpm                     100%   10MB  16.6MB/s   00:00
backup-Oct.zip                            100%  713MB  41.9MB/s   00:17
index.html                                100%   85KB   6.6MB/s   00:00
[[email protected] ~]$

Příklad 14) Použití jiné šifry v příkazu scp (-c)

Ve výchozím nastavení používá scp k šifrování souborů šifru „AES-128“. Pokud chcete v příkazu scp použít jinou šifru, použijte volbu „-c“ následovanou názvem šifry,

Předpokládejme, že při přenosu souborů chceme v příkazu scp použít šifru „3des-cbc“, spusťte následující příkaz scp

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

Pomocí níže uvedeného příkazu vypíšete šifry ssh a scp,

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

To je vše z tohoto tutoriálu, pokud chcete získat více podrobností o příkazu scp, podívejte se laskavě na jeho manuálovou stránku. Prosím, podělte se o své názory a komentáře v sekci komentářů níže.

Přečtěte si také11 příkladů příkazů ‚df‘ v systému Linux


Linux
  1. Linux Shutdown Command (s příklady)

  2. Praktické příklady příkazu rsync v Linuxu

  3. Jak bezpečně přenášet soubory pomocí příkazu SCP v systému Linux

  1. Jak bezpečně přenášet soubory pomocí SCP

  2. Příklady příkazů „shutdown“ v Linuxu

  3. Příklady příkazů resize2fs v Linuxu

  1. Vysvětlení příkazu SCP pro Linux:Bezpečné kopírování a přenos souborů {13 příkladů}

  2. Příklady příkazů diff v Linuxu

  3. Příklady příkazů localectl v Linuxu