V tomto tutoriálu vám ukážeme, jak používat příkaz scp v Linuxu. Pro ty z vás, kteří nevěděli, SCP (Secure Copy) je nástroj příkazového řádku v Linuxu a systémy podobné Unixu, které se používají k bezpečnému přenosu souborů a adresářů mezi systémy přes síť. K přenosu dat používá subsystém Secure Shell SFTP, používá stejnou autentizaci a poskytuje stejné zabezpečení jako Secure Shell. Scp bude vyžadovat hesla nebo přístupové fráze, pokud jsou potřeba pro ověření. Ve výchozím nastavení je příkaz SCP součástí systémů Linux a Mac, takže pomocí těchto OS nemusíte nic stahovat.
Tento článek předpokládá, že máte alespoň základní znalosti Linuxu, víte, jak používat shell, a co je nejdůležitější, hostujete svůj web na svém vlastním VPS. Instalace je poměrně jednoduchá a předpokládá, že běží v účtu root, pokud ne, možná budete muset přidat 'sudo
‘ k příkazům pro získání oprávnění root. Ukážu vám krok za krokem použití příkazů SCP na Linuxu s praktickými příklady.
Předpoklady
- Server s jedním z následujících operačních systémů:založený na Ubuntu nebo založený na RHEL.
- Abyste předešli případným problémům, doporučujeme použít novou instalaci operačního systému.
- Přístup SSH k serveru (nebo stačí otevřít Terminál, pokud jste na počítači).
non-root sudo user
nebo přístup kroot user
. Doporučujeme jednat jakonon-root sudo user
, protože však můžete poškodit svůj systém, pokud nebudete při jednání jako root opatrní.
Používejte příkaz SCP v systému Linux
SCP (zabezpečená kopie) je nástroj příkazového řádku, který umožňuje bezpečně kopírovat soubory a adresáře mezi dvěma umístěními.
- Základní syntaxe příkazu SCP.
Protokol SCP standardně funguje na portu 22
pokud není přepsán volbou příkazového řádku. Všechny scp
příkazy mají tvar:
[[email protected] ~]# scp [MOŽNOSTI] [ZDROJ] [CÍL]
- Přenos místních souborů do vzdáleného cíle.
Například nahrajeme soubor z našeho místního počítače do vzdáleného umístění. S SCP to můžeme provést příkazem jako:
[[email protected] ~]# scp cesta/k/local/file.txt uživatel@vzdálený-hostitel:cesta/k/vzdálenému/souboru.txt
Po spuštění tohoto výše uvedeného příkazu se zobrazí výzva s heslem odpovídajícím uživatelskému účtu vzdáleného hostitele. Po zadání hesla bude soubor zkopírován.
P>- Přeneste vzdálený soubor do místního cíle.
Nyní můžeme zkopírovat soubor ze vzdáleného počítače do našeho místního počítače:
[[email protected] ~]# scp uživatel@vzdálený-hostitel:cesta/k/vzdálenému/souboru.txt cesta/k/místnímu/souboru.txt
- Přeneste vzdálený soubor do vzdáleného cíle.
Spusťte následující formát příkazu, který se používá k přenosu souboru mezi dvěma vzdálenými hostiteli:
[[email protected] ~]# scp uživatel1@vzdálený-hostitel1:cesta/k/vzdálenému/souboru.txt uživatel2@vzdálený-hostitel2:cesta/k/vzdálenému-souboru.txt
- Kopírování adresářů.
-r
příznak lze použít k rekurzivnímu kopírování složky a jejího obsahu namísto jednoho souboru:
[[email protected] ~]# scp -r cesta/k/místní/moje-složka user@remote-host:path/to/remote/my-folder
- Potlačený režim.
-q
flag potlačí ukazatel průběhu a nechybové zprávy, takže váš terminál zůstane čistý:
[[email protected] ~]# scp -q cesta/k/místnímu/souboru.txt uživatel@vzdálený-hostitel:cesta/k/vzdálenému/souboru.txt
- Soubor párů klíčů pro ověřování.
-i
příznak lze použít k ověření připojení pomocí páru kryptografických klíčů uložených v souboru namísto uživatelského jména a hesla:
[[email protected] ~]# scp -i cesta/k/local/keypair.pem cesta/k/lokálnímu/souboru.txt uživatel@vzdálený-hostitel:cesta/k/vzdálenému/souboru.txt
- Použití více možností SCP.
Toto je příklad, který implementuje více příznaků pro zkopírování složky ze vzdáleného hostitele do našeho místního počítače pomocí souboru páru klíčů pro ověření na portu 999 při zachování vlastností souboru a potlačení výstupu:
[[email protected] ~]# scp -p -q -P 999 -i cesta/k/místnímu/klíčovému páru.pem -r cesta/k/místní/složce uživatel@vzdálený-hostitel:cesta/k/ dálkové ovládání/složka
Blahopřejeme! Úspěšně jste se naučili používat příkaz SCP. Děkujeme, že jste použili tento tutoriál. Zabývali jsme se přenosem souborů z místního hostitele na vzdálený hostitel, ze vzdáleného hostitele na místního hostitele a mezi dva vzdálené hostitele v systému Linux.