GNU/Linux >> Znalost Linux >  >> Linux

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

SCP znamená zabezpečené kopírování. Je to nástroj příkazového řádku Linuxu používaný k bezpečnému kopírování souborů a adresářů mezi servery. SCP používá protokol SSH, takže mezi servery vyžaduje heslo nebo méně hesel. Pomocí SCP můžete kopírovat soubory mezi dvěma vzdálenými hostiteli z vašeho místního systému a také kopírovat soubory mezi místními a vzdálenými hostiteli.

V tomto tutoriálu vám na příkladech ukážeme, jak používat příkaz SCP.

Předpoklady

  • Nové Ubuntu 18.04 VPS na cloudové platformě Atlantic.net.
  • Heslo uživatele root nakonfigurované na vašem serveru.

Vytvořte cloudový server Atlantic.Net

Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Ubuntu 18.04 s alespoň 1 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.

Jakmile se přihlásíte ke svému serveru Ubuntu 18.04, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.

apt-get update -y

1. Syntaxe SCP

Základní syntaxe příkazu SCP je uvedena níže:

scp [volba] [email protected]:/file_or_directory [email protected]:/directory

uživatel: Jméno uživatele.
source-ip: IP adresa systému, odkud chcete kopírovat soubory nebo adresáře.
cíl-ip: IP adresa cílového systému.

Některé z voleb používaných v příkazu scp jsou uvedeny níže:

-P: Zadejte číslo portu ssh cílového hostitele.
-r: Používá se k rekurzivnímu kopírování souborů a adresářů.
-v: Používá se k zobrazení podrobného výstupu během přenosu souboru.
-C: Používá se k povolení komprese souborů.
-i: Zadejte klíč SSH.
-l: Používá se k omezení šířky pásma při kopírování.
-p: Používá se k zachování oprávnění, režimů a doby přístupu k souborům při kopírování.

2. Kopírování souboru z místního do vzdáleného hostitele

Pokud chcete zkopírovat soubor s názvem /etc/rc.local z localhost do vzdáleného hostitele (172.20.10.3) v adresáři /mnt, spusťte následující příkaz:

scp /etc/rc.local [email protected]:/mnt/

Měli byste vidět následující výstup:

pří[email protected]'s Heslo:RC.Local 100%306 0,3 kB/S 00:00

Pokud chcete zkopírovat více souborů (v tomto příkladu použijeme /etc/fstab a /etc/hosts, a zkopírujte je do vzdáleného hostitele (172.20.10.3) do adresáře /mnt), spusťte následující příkaz:

scp /etc/fstab /etc/hosts [email protected]:/mnt/

Měli byste vidět následující výstup:

pří[email protected]'s Heslo:Fstab 100%628 0,6 kB/S 00:00 hostitele 100%249 0,2 kB/s 00:00

3. Rekurzivní kopírování souborů a adresářů

Pro zkopírování celého adresáře z jednoho systému do druhého můžete použít rekurzivní volbu -r s SCP.

Chcete-li například zkopírovat adresář s názvem /var/log/apache2 z localhost na vzdálený hostitel (172.20.10.3) v adresáři /mnt rekurzivně spusťte následující příkaz:

scp -r /var/log/apache2 [email protected]:/mnt/

Měli byste vidět následující výstup:

pří[email protected]'s Heslo:Error.log 100%0 0,0kb/s 00:00 Access.log.3.gz 100%61KB 61,3KB/S 00:00 ostatní_vhosts_access.log 100%0 0,0 kb/s 00:00 Access.log.4.gz 100% 317 0,3 kB/S 00:00 Chyba.log.3.gz 100% 1622 1,6 kB/S 00:00 Chyba.log.1 100% 2352 2,3 kB/S 00 :00 Access.log 100% 0 0,0 kB/s 00:00 Access.log.1 100% 1287 1,3 kB/s 0 0:00 Access.log.2.gz 100%239 0,2 kB/S 00:00 Chyba.log.2.gz 100%246 0,2 kB/S 00:00 Chyba.log.5.gz 100%1471 1,4 kB/ s   00:00   error.log.4.gz                                                                                                                                                                                                                                                                                        

Můžete také použít volbu -v s SCP pro zobrazení podrobného výstupu během procesu kopírování:

scp -vr /var/log/apache2 [email protected]:/mnt/

4. Kopírování souboru ze vzdáleného do místního hostitele

Pokud chcete zkopírovat soubor s názvem /etc/hostname ze vzdáleného hostitele (172.20.10.3) do localhost v adresáři /opt, spusťte následující příkaz:

scp [email protected]:/etc/hostname /opt/

Měli byste vidět následující výstup:

pří[email protected]'s Heslo:název hostitele 100%6 0,0 kB/s 00:00

5. Kopírování souboru z jednoho vzdáleného hostitele na jiný vzdálený hostitel

Chcete-li kopírovat soubory a adresáře mezi dvěma vzdálenými hostiteli, budete muset nakonfigurovat ověřování pomocí klíče SSH mezi oběma vzdálenými hostiteli.

Po konfiguraci ověřování na základě klíče zkopírujte adresář s názvem /var/log z jednoho vzdáleného hostitele (172.20.10.3) do druhého vzdáleného hostitele (172.20.10.4) v adresáři /mnt a spusťte následující příkaz:

scp -r [email protected]:/var/log [email protected]:/mnt/

6. Omezení využití šířky pásma při kopírování

Můžete použít volbu -l s SCP k omezení šířky pásma během procesu kopírování.

Chcete-li například zkopírovat soubor s názvem google-chrome-stable_current_amd64.deb z localhost do vzdáleného hostitele (172.20.10.3) v adresáři /opt a omezit šířku pásma na 1000 kB/s (1000×8), spusťte následující příkaz:

scp -l 8000 /home/vyom/Downloads/google-chrome-stable_current_amd64.deb  [email protected]:/opt/

Měli byste vidět následující výstup:

Pří[email protected]'s Heslo:Google-Chrome-stable_current_amd64.deb 100%60MB 1,0 MB/S 01:01

7. Určete konkrétní port pomocí SCP

V některých případech se port SSH na cílovém hostiteli liší. V tomto případě můžete použít volbu -P k určení portu SSH.

Chcete-li například zkopírovat soubor s názvem /etc/hosts v místním systému do vzdáleného hostitele (172.20.10.3) v adresáři /mnt pomocí portu 8088, spusťte následující příkaz:

scp -P 8088 /etc/hosts [email protected]:/mnt/

8. Povolení komprese při kopírování

Pomocí volby -C s SCP můžete povolit kompresi u zdroje a dekompresi na cílovém hostiteli. To může zvýšit rychlost přenosu velkých souborů.

Chcete-li například zkopírovat adresář /var/log/nginx na místním hostiteli ke vzdálenému hostiteli (172.20.10.3) v adresáři /mnt s kompresí spusťte následující příkaz:

scp -r -C /var/log/nginx [email protected]:/mnt/

Měli byste vidět následující výstup:

pří[email protected]'s Heslo:Error.log 100%0 0,0 kB/S 00:00 Access.log.3.gz 100%217 0,2 kB/S 00:00 Error.log.1 100%974 1,0 kB /S 00:00 Access.log 100%0 0,0 kB/S 00:00 Access.log.1 100%90 0,1 kB/S 00:00 Access.log.2.gz 100%239 0,2 kB/S 00:00

9. Zachovejte oprávnění, režimy a dobu přístupu k souborům při kopírování

Můžete použít volbu -p s SCP pro zachování oprávnění, doby přístupu a režimů během procesu kopírování.

Chcete-li například zkopírovat soubor s názvem magento-ce-2.3.5-p1-2020-04-24-08-59-28.tar.bz2 na místním hostiteli ke vzdálenému hostiteli (172.20.10.3) v adresáři /mnt a zachování oprávnění, doby přístupu a režimů spusťte následující příkaz:

scp -p /home/vyom/Downloads/magento-ce-2.3.5-p1-2020-04-24-08-59-28.tar.bz2 [email protected]:/mnt/

Měli byste vidět následující výstup:

Pří[email protected]'s Heslo:Magenento-CE-2.3.5-P1-2020-04-24-08-59-28.TAR.BZ2 100%112MB 55,9MB/S 00:02

Závěr

Ve výše uvedené příručce jste se naučili používat SCP k bezpečnému přenosu souborů a adresářů z jednoho serveru na druhý. Začněte s SCP na VPS Hosting účtu u Atlantic.Net ještě dnes!


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

  2. Jak přenášet soubory mezi servery v Linuxu pomocí SCP a FTP

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

  1. Bezpečně přenášejte soubory a složky mezi počítači pomocí Croc

  2. Jak bezpečně kopírovat soubory mezi hostiteli Linuxu pomocí SCP a SFTP

  3. Jak přenášet soubory v Linuxu pomocí SCP a Rsync

  1. Jak bezpečně přenášet soubory pomocí sftp (včetně příkladů)

  2. Jak kopírovat více souborů současně pomocí scp

  3. Pomocí scp přeneste seznam souborů ve formátu .txt