GNU/Linux >> Znalost Linux >  >> Linux

Jak používat příkaz SCP k bezpečnému přenosu souborů

SCP (secure copy) je nástroj příkazového řádku, který vám umožňuje bezpečně kopírovat soubory a adresáře mezi dvěma umístěními.

Pomocí scp , můžete zkopírovat soubor nebo adresář:

  • Z vašeho místního systému do vzdáleného systému.
  • Ze vzdáleného systému do vašeho místního systému.
  • Mezi dvěma vzdálenými systémy z vašeho místního systému.

Při přenosu dat pomocí scp , soubory i heslo jsou zašifrovány, aby nikdo, kdo sleduje provoz, nezískal nic citlivého.

V tomto tutoriálu vám ukážeme, jak používat scp pomocí praktických příkladů a podrobných vysvětlení nejběžnějších možností scp.

SCP příkaz syntaxe #

Než se pustíte do toho, jak používat scp příkaz, začněme zopakováním základní syntaxe.

scp syntaxe příkazu má následující tvar:

scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2
  • OPTION - možnosti scp, jako je šifra, konfigurace ssh, port ssh, limit, rekurzivní kopie atd.
  • [user@]SRC_HOST:]file1 - Zdrojový soubor.
  • [user@]DEST_HOST:]file2 - Cílový soubor

Místní soubory by měly být specifikovány pomocí absolutní nebo relativní cesty, zatímco názvy vzdálených souborů by měly obsahovat specifikaci uživatele a hostitele.

scp poskytuje řadu možností, které řídí každý aspekt jeho chování. Nejpoužívanější možnosti jsou:

  • -P - Určuje port ssh vzdáleného hostitele.
  • -p - Zachovává úpravy souborů a časy přístupu.
  • -q - Tuto možnost použijte, pokud chcete potlačit ukazatel průběhu a nechybové zprávy.
  • -C - Tato volba vynutí scp zkomprimuje data při jejich odesílání do cílového počítače.
  • -r - Tato volba říká scp pro rekurzivní kopírování adresářů.

Než začnete #

scp příkaz spoléhá na ssh pro přenos dat, takže k ověření na vzdálených systémech vyžaduje ssh klíč nebo heslo.

Dvojtečka (: ) je způsob scp rozlišovat mezi místním a vzdáleným umístěním.

Abyste mohli kopírovat soubory, musíte mít alespoň oprávnění ke čtení zdrojového souboru a oprávnění k zápisu v cílovém systému.

Buďte opatrní při kopírování souborů, které v obou systémech sdílejí stejný název a umístění, scp přepíše soubory bez varování.

Při přenosu velkých souborů se doporučuje spustit scp příkaz uvnitř obrazovky nebo tmuxsession.

Kopírování souborů a adresářů mezi dvěma systémy pomocí scp #

Zkopírujte místní soubor do vzdáleného systému pomocí scp Příkaz #

Chcete-li zkopírovat soubor z místního do vzdáleného systému, spusťte následující příkaz:

scp file.txt [email protected]:/remote/directory

Kde file.txt je název souboru, který chceme zkopírovat, remote_username je uživatel na vzdáleném serveru, 10.10.0.2 je IP adresa serveru. /remote/directory je cesta k adresáři, do kterého chcete soubor zkopírovat. Pokud neurčíte vzdálený adresář, soubor se zkopíruje do domovského adresáře vzdáleného uživatele.

Budete vyzváni k zadání uživatelského hesla a zahájí se proces přenosu.

Heslo uživatele
[email protected]'s password:
file.txt                             100%    0     0.0KB/s   00:00

Vynechání názvu souboru z cílového umístění zkopíruje soubor s původním názvem. Pokud chcete soubor uložit pod jiným názvem, musíte zadat nový název souboru:

scp file.txt [email protected]:/remote/directory/newfilename.txt

Pokud SSH na vzdáleném hostiteli naslouchá na jiném portu, než je výchozí 22, můžete port specifikovat pomocí -P argument:

scp -P 2322 file.txt [email protected]:/remote/directory

Příkaz ke kopírování adresáře je podobný jako při kopírování souborů. Jediný rozdíl je v tom, že musíte použít -r příznak pro rekurzivní.

Chcete-li zkopírovat adresář z místního do vzdáleného systému, použijte -r možnost:

scp -r /local/directory [email protected]:/remote/directory

Zkopírujte vzdálený soubor do místního systému pomocí scp Příkaz #

Chcete-li zkopírovat soubor ze vzdáleného do místního systému, použijte vzdálené umístění jako zdroj a místní umístění jako cíl.

Například ke zkopírování souboru s názvem file.txt ze vzdáleného serveru s IP 10.10.0.2 spusťte následující příkaz:

scp [email protected]:/remote/file.txt /local/directory

Pokud jste na vzdáleném počítači nenastavili přihlášení SSH bez hesla, budete požádáni o zadání uživatelského hesla.

Kopírování souboru mezi dvěma vzdálenými systémy pomocí scp Příkaz #

Na rozdíl od rsync , při použití scp pro přenos souborů z jednoho na druhý vzdálený počítač se nemusíte přihlašovat k jednomu ze serverů.

Následující příkaz zkopíruje soubor /files/file.txt ze vzdáleného hostitele host1.com do adresáře /files na vzdáleném hostiteli host2.com .

scp [email protected]:/files/file.txt [email protected]:/files

Budete vyzváni k zadání hesel pro oba vzdálené účty. Data budou přenášena přímo z jednoho vzdáleného hostitele do druhého.

Chcete-li směrovat provoz přes počítač, na kterém je příkaz vydán, použijte -3 možnost:

scp -3 [email protected]:/files/file.txt [email protected]:/files

Závěr č.

V tomto tutoriálu jste se naučili používat scp příkaz ke kopírování souborů a adresářů.

Můžete také chtít nastavit ověřování na základě klíče SSH a připojit se k serverům Linux bez zadávání hesla.

Pokud se pravidelně připojujete ke stejným systémům, můžete si zjednodušit pracovní postup tím, že všechna svá připojení definujete v konfiguračním souboru SSH.


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

  2. Jak používat příkaz SFTP pro bezpečný přenos souborů

  3. Jak používat Netcat k přenosu souborů v systému Linux

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

  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

  1. Jak používat příkaz md5sum v Linuxu

  2. Jak používat dotykový příkaz v Linuxu

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