Příkaz SCP v systému Linux umožňuje kopírovat soubory přes připojení ssh. To je docela užitečné, pokud chcete přenášet soubory mezi počítači.
Obsah
- Syntaxe příkazu SCP
- Jak používat příkaz SCP v systému Linux
- Přeneste místní soubor na vzdálený server
- Přenos souboru ze vzdáleného serveru do místního počítače
- Rekurzivně přenést místní adresář na vzdálený server
- Přenos adresáře ze vzdáleného serveru na místní rekurzivně
- Přenos více souborů na vzdálené servery
- Zvýšení přenosové rychlosti povolením komprese
- Zadejte jiný port SSH
- Zachovává oprávnění, režimy a dobu přístupu k souborům
- Použijte Identifikovat soubor v příkazu SCP
- Závěr
scp
Příkaz (Secure Copy) používá SSH k přenosu dat z jednoho hostitele na druhého a používá stejné ověřování a zabezpečení SSH. Příkaz se však pro přenos dat spoléhá na SSH, což vyžaduje ssh klíč nebo heslo k ověření na vzdálených systémech.
Při přenosu dat pomocí scp
, soubory i heslo jsou zašifrovány, takže kdokoli, kdo sleduje provoz, nezískal nic citlivého. Jedná se tedy o jeden z nejbezpečnějších způsobů přenosu dat v síti.
scp
příkaz v Linuxu lze použít 3 způsoby:
- Kopírování ze vzdáleného serveru na místní počítač.
- Také ke kopírování z místního počítače na vzdálený server.
- Kopírování ze vzdáleného serveru na jiný vzdálený server.
Syntaxe příkazu SCP
Syntaxe pro scp
příkaz je:
scp [OPTION] [[email protected]]SRC_HOST:]file1 [[email protected]]DEST_HOST:]file2
Některé z nejpoužívanějších scp
možnosti příkazu zahrnují:
-P
:Zadejte port SSH serveru-p
:Zachovává oprávnění, režimy a dobu přístupu k souborům (všimněte si malých písmen)-q
:Tichý režim, nezobrazovat průběh ani zprávy-C
:Komprimace dat během přenosu-r
:Rekurzivní – zahrnuje podadresáře a jejich obsah-i
:Soubor identity nebo soukromý klíč
Jak používat příkaz SCP v Linuxu
Přenést místní soubor na vzdálený server
Zkopírujte file.txt
z aktuálního adresáře místního systému do /tmp
vzdáleného serveru adresář.
scp file.txt [email protected]:/tmp/
Přenos souboru ze vzdáleného serveru do místního počítače
Následující příkaz zkopíruje /tmp/file.txt
ze vzdáleného serveru na místní počítač v domovském adresáři uživatele.
scp [email protected]:/tmp/file.txt /home/user
Přenos místního adresáře na vzdálený server rekurzivně
Můžete použít -r
možnost v scp
příkaz v Linuxu k rekurzivnímu zkopírování celého adresáře z jednoho systému do druhého.
Následující příkaz zkopíruje /home/user/myfiles
adresář z místního počítače do /tmp
vzdáleného serveru adresář.
scp -r /home/user/myfiles [email protected]:/tmp/
Přenos adresáře ze vzdáleného serveru na místní rekurzivně
Následující příkaz zkopíruje /tmp/serverfiles
adresář ze vzdáleného serveru na místní počítač pod domovským adresářem uživatele rekurzivně.
scp -r [email protected]:/tmp/serverfiles /home/user
Přenos více souborů na vzdálené servery
V následujícím příkladu jsou to soubory file1.txt
a file2.txt
ze zdrojového hostitele se zkopírují do /tmp
vzdáleného serveru adresář.
scp file1.txt file2.txt [email protected]:/tmp/
Zvýšení přenosové rychlosti povolením komprese
Přenosovou rychlost můžete zvýšit povolením komprese pomocí -C
volba. Automaticky umožní kompresi u zdroje a dekompresi u cílového hostitele.
Následující příkaz zkopíruje /home/user/myfiles
adresář z místního počítače do /tmp
vzdáleného serveru adresář rekurzivně s povolenou kompresí.
scp -r -C /home/user/myfiles [email protected]:/tmp/
Zadat jiný port SSH
Mohou nastat případy, kdy se port SSH na cílovém hostiteli změní, takže pomocí příkazu scp v Linuxu můžete zadat číslo portu SSH pomocí -P
možnost.
Následující příkaz zkopíruje file.txt
z aktuálního adresáře místního systému do /tmp
vzdáleného serveru adresář pomocí portu 2222.
scp -P 2222 file.txt [email protected]:/tmp/
Zachovává oprávnění, režimy a dobu přístupu k souborům
Použijte -p
možnost v scp
příkaz pro zachování oprávnění, doby přístupu a režimů při kopírování souborů.
Následující příkaz zkopíruje file.txt
z aktuálního adresáře místního systému do /tmp
vzdáleného serveru adresář a zachová si jeho vlastnosti.
scp -p file.txt [email protected]:/tmp/
Použít identifikaci souboru v příkazu SCP
Při použití klíče SSH namísto hesla během relace SSH se použije -i
flag umožňuje vybrat soubor, ze kterého se načte identita (soukromý klíč) pro ověření veřejným klíčem.
Následující příkaz zkopíruje file.txt
z aktuálního adresáře místního systému do /tmp
vzdáleného serveru adresář pomocí my_second_indent.pem
soubor soukromého klíče.
scp -i my_second_indent.pem file.txt [email protected]:/tmp/
Závěr
V tomto tutoriálu jste se naučili používat scp
příkaz v systému Linux ke kopírování souborů a adresářů. To je zvláště užitečné jako náhrada za FTP, který je ve výchozím nastavení ze své podstaty nezabezpečený.
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.
Další informace o scp
příkaz v systému Linux, podívejte se na stránku jeho příručky.