GNU/Linux >> Znalost Linux >  >> Linux

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

Úvod

SCP (Protokol zabezpečeného kopírování) je síťový protokol používaný k bezpečnému kopírování souborů/složek mezi systémy Linux (Unix) v síti. K přenosu použijte scp nástroj příkazového řádku, bezpečnější varianta příkazu cp (copy).

SCP chrání vaše data při kopírování přes připojení SSH (Secure Shell) šifrováním souborů a hesel. Proto, i když je provoz zachycen, informace jsou stále šifrovány.

Použijte SCP, když:

  • Kopírování souborů z místního hostitele na vzdálený hostitel.
  • Kopírování souborů ze vzdáleného hostitele na místního hostitele.
  • Kopírování souborů mezi dvěma vzdálenými servery.

Tato příručka vám ukáže, jakkopírovat soubory pomocí příkazu SCP, a obsahuje 13 příkladů použití příkazu v praxi .

Předpoklady

  • Zabezpečené přihlášení k shellu na serveru
  • (volitelně) přístup root na klientovi i serveru
  • Zabezpečené přihlášení do prostředí serveru v systému serveru

Syntaxe příkazu SCP

Syntaxe pro použití scp příkaz je:

scp [option] [[email protected]_host:path/to/source/file] [[email protected]_host:target/path] 

Pokud vynecháte:

  • uživatelské_jméno hostitele (nebo cíle), příkaz je výchozí pro aktuálního uživatele.
  • cesta/ke/zdroji (nebo cíl/cesta ) z příkazu program vyhledá (nebo zkopíruje) soubor lokálně.

Při práci se vzdálenými soubory vždy určete specifikace uživatele a hostitele.

Ujistěte se, že používáte účet s přístupem pro čtení k souborům, které chcete zkopírovat do zdrojového systému. Kromě toho musíte použít účet s přístupem pro zápis do adresáře, do kterého budou soubory v cílovém systému uloženy.

Možnosti příkazu SCP

Můžete přidat mnoho scp možnosti příkazu k příkazu pro přizpůsobení a urychlení procesu. Možnosti jsou přidány jako atributy hned za scp příkaz.

Každá možnost má krátký jednoznakový tvar a delší popisný ekvivalent.

-1 Použijte protokol 1.
-2 Použijte protokol 2.
-4 Používejte pouze adresy IPv4.
-6 Používejte pouze adresy IPv6.
-B Spustit v dávkovém režimu, deaktivovat všechny dotazy pro vstup uživatele.
-b buffer_size Uveďte velikost vyrovnávací paměti použité pro přenos dat. Pokud není zadáno, použije výchozí - 32768 bajtů.
-C Povolit kompresi.
-c cipher Vyberte šifru pro šifrování dat. Pokud není zadáno, SCP použije výchozí hodnotu – „AnyStdCipher“.
-D debug_level Nastavte úroveň ladění (1, 2, 3 nebo 99).
-d Zkopírujte soubor, pouze pokud cílový adresář již existuje.
-F file Zadejte alternativní konfigurační soubor pro SSH .
-h Zobrazit seznam možností příkazu.
-i file Uveďte soubor, ze kterého se má číst identita pro ověření veřejného klíče.
-l limit Omezte šířku pásma (uveďte limit v Kbit/s).
-o ssh_option Nastavte možnosti na SSH ve formátu ssh_config.
-P port Upřesněte port, ke kterému se chcete připojit. Pokud není uvedeno, SCP používá port 22.
-q Spusťte SCP v tichém režimu.
-Q Zakažte zobrazování všech statistik přenosu souborů.
-r Kopírujte rekurzivně.
-S program Pro šifrování připojení použijte určený program.
-u Po dokončení kopírování smažte zdrojový soubor.
-v Povolte podrobný režim, který nastaví úroveň ladění na 2.

Příklady příkazů SCP

Chcete-li lépe porozumět tomuto užitečnému nástroji, podívejte se na následující scp příklady příkazů.

Zkopírujte soubor z místního na vzdálený server

V níže uvedeném příkladu zkopírujeme ukázkový soubor z místního hostitele na vzdálený server:

scp Desktop/sample_example.txt [email protected]:/home/remote_dir 

Příkaz obsahuje následující informace:

  • Desktop/sample_example.txt - název kopírovaného souboru a jeho umístění.
  • [email protected] - uživatelské jméno a IP adresa vzdáleného serveru.
  • /home/remote_dir – umístění, kam se má uložit zkopírovaný soubor.

Zkopírujte soubor ze vzdáleného serveru na místního hostitele

Chcete-li zkopírovat ukázkový soubor ze vzdáleného hostitele do místního hostitele, spustíme:

scp 147.182.143.27:/home/remote_dir/sample_example.txt home/Desktop

Poskytnuté informace jsou

  • [email protected] - uživatelské jméno a IP adresa vzdáleného serveru, kde se soubor aktuálně nachází.
  • /home/remote_dir/sample_example.txt - název kopírovaného souboru a jeho umístění.
  • home/Desktop – umístění, kam se má uložit zkopírovaný soubor.

Zkopírujte soubor z jednoho vzdáleného serveru na druhý

Dále se podívejme, jak zkopírovat soubor z jednoho vzdáleného serveru na jiný vzdálený server pomocí scp příkaz:

scp [email protected]:/home/remote_dir/sample_example.txt [email protected]:home/Desktop

Výše uvedený příkaz určuje:

  • [email protected] - uživatelské jméno a IP adresa vzdáleného serveru, kde se soubor aktuálně nachází.
  • /home/remote_dir/sample_example.txt - název kopírovaného souboru a jeho umístění.
  • [email protected] – uživatelské jméno a IP adresa vzdáleného serveru, kam chceme soubor zkopírovat.
  • home/Desktop – umístění, kam se má uložit zkopírovaný soubor na vzdáleném serveru.

Kopírování více souborů pomocí SCP

SCP umožňuje kopírovat více souborů v jednom příkazu. Například níže uvedený příkaz zkopíruje dva soubory z místního hostitele na vzdálený server:

scp example/sample1.txt example/sample2.txt [email protected]:/home/remote_dir

Obsahuje následující informace:

  • example/sample1.txt – název a umístění prvního kopírovaného souboru.
  • example/sample2.txt – název a umístění druhého kopírovaného souboru.
  • [email protected] - uživatelské jméno a IP adresa vzdáleného serveru přijímajícího soubory.
  • /home/remote_dir - umístění, kam se mají ukládat zkopírované soubory na vzdáleném serveru.

Rekurzivně zkopírujte složku z místního hostitele na vzdálený server

Kromě souborů scp může také bezpečně kopírovat složky na nebo ze vzdálených serverů. Následující příkaz ukazuje, jak rekurzivně zkopírovat ukázkový adresář na vzdálený server:

scp -r example [email protected]:/home/remote_dir

Příkaz obsahuje:

  • -r – možnost rekurzivního kopírování složky.
  • example – název složky, která se kopíruje z místního serveru.
  • [email protected] - uživatelské jméno a IP adresa vzdáleného serveru přijímajícího složku.
  • /home/remote_dir - umístění, kam uložit zkopírovanou složku na vzdáleném serveru.

Zkopírujte soubor pomocí SCP pomocí konkrétního portu

Ve výchozím nastavení používá SCP port 22. Pokud je však vzdálený systém nakonfigurován tak, aby naslouchal požadavkům SSH na jiném portu, použijte –P přepínačem určete port.

Například následující příkaz zkopíruje soubor z místního na vzdálený server pomocí portu 2222:

scp -P 2222  Desktop/sample_example.txt [email protected]:/home/remote_dir

Komponenty výše uvedeného příkazu jsou:

  • -P 2222 – použijte port 2222.
  • Desktop/sample_example.txt - název souboru, který chcete zkopírovat, a jeho umístění.
  • [email protected] - uživatelské jméno a IP adresa vzdáleného serveru přijímajícího soubor.
  • /home/remote_dir - umístění, kam se má uložit zkopírovaný soubor na vzdáleném serveru.

Zkopírujte soubor pomocí SCP v tichém režimu

Spuštění scp příkaz v tichém režimu znamená zakázání zobrazování měřiče průběhu a nechybových zpráv na výstupu. Chcete-li tak učinit, musíte přidat -q možnost:

scp -q Desktop/sample_example.txt [email protected]:/home/remote_dir

Zkopírujte soubor pomocí SCP v podrobném režimu

Můžete spustit scp v podrobném režimu přidáním -v možnost, která nastaví úroveň ladění na 2. Pokud tak učiníte, vytiskne se ve výstupu informace o ladění, které vám mohou pomoci při odstraňování problémů.

Přidejte -v možnost za scp pro aktivaci podrobného režimu, jako v příkladu níže:

scp -v Desktop/sample_example.txt [email protected]:/home/remote_dir

Zkopírujte soubor s SCP a omezením šířky pásma

Další užitečnou možností je omezení šířky pásma používaného scp přidáním -l parametr. To je zvláště užitečné při kopírování velkých souborů, aby se zabránilo SCP ve vyčerpání šířky pásma.

Při omezování šířky pásma musíte zadat číslo v kilobitech/s. Mějte na paměti, že 1 bajt =8 bitů. Pokud tedy chcete omezit šířku pásma pro SCP na 100 KB/s, hodnota pro l v kb/s by byla 800 (100 x 8), jako v příkazu níže:

scp -l 800 Desktop/sample_example.txt [email protected]:/home/remote_dir

Zkopírujte soubor pomocí SCP rychleji

Chcete-li urychlit přenos souborů z jednoho serveru na druhý, přidejte -C možnost, která komprimuje soubor během jeho přenosu. Jakmile soubor dosáhne svého cíle, vrátí se do své normální velikosti.

scp -C Desktop/sample_example.txt [email protected]:/home/remote_dir

Zkopírujte soubor pomocí SCP pomocí specifické šifry

Ve výchozím nastavení používá SCP k šifrování souborů AES-128. Nicméně -c umožňuje změnit šifru, kterou SCP použije k šifrování souboru.

Chcete-li například zvýšit zabezpečení, můžete přepnout na šifrování 3des, jako v následujícím příkladu:

scp -c 3des Desktop/sample_example.txt [email protected]:/home/remote_dir

Zkopírujte soubor pomocí SCP pomocí IPv4 nebo IPv6

Můžete přinutit SCP, aby používal pouze IPv4 nebo IPv6 v závislosti na vašich potřebách přidáním -4 nebo -6 atribut.

Chcete-li zkopírovat ukázkový soubor z místního serveru na vzdálený hostitel pouze pomocí protokolu IPv6, spustili byste:

scp -6 Desktop/sample_example.txt [email protected]:/home/remote_dir

Zkopírujte soubor se zachováním atributů souboru SCP

Chcete-li zkopírovat soubor pomocí SCP a zachovat atributy souboru, jako jsou časy úprav a přístupu, režimy a oprávnění, použijte -p možnost:

scp -p Desktop/sample_example.txt [email protected]:/home/remote_dir

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

  2. Linuxový příkaz cp

  3. Jak používat příkaz Rsync v linuxu?

  1. Kopírování souborů a adresářů v Linuxu

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

  3. Příkaz SCP Linux – Jak přenášet soubory SSH ze vzdáleného do místního

  1. Jak používat Linux FTP příkaz k přenosu souborů

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

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