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íscpzkomprimuje data při jejich odesílání do cílového počítače.-r- Tato volba říkáscppro 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.