Jak postupně proděláte uživatelskou zkušenost s operačním systémem Linux, budete povinni se ocitnout v spleti Linuxu desktop-to-server nebo Linux server-to-server. Ve většině případů se tyto scénáře týkají prioritních cílů OS, jako je přenos užitečných souborů a kopií adresářů.
[ Také by se vám mohlo líbit:Jak předat heslo příkazu SSH v Linuxu ]
Bezpečně přenést soubory pomocí příkazu Scp
Jednoduchost nástroje příkazového řádku scp umožňuje uživatelům snadno a vzdáleně kopírovat soubory a adresáře z jednoho prostředí Linuxu do druhého. Může to být z prostředí stolního počítače do prostředí serveru nebo z prostředí serveru do prostředí jiného serveru.
Použití příkazu SCP podporuje šifrování hesel, aby bylo chráněno před únikem nebo slíděním během přenosu souborů a adresářů. Tradiční nebo známý přístup implementace příkazu SCP se řídí následující syntaxí.
$ scp [Username@SourceHost:]Path_to_File_to_Copy [Username@DestinationHost:]Path_to_Destination_of_Copied_File
Mohl bych například úspěšně zkopírovat soubor na jeden ze svých vzdálených serverů z prostředí Linuxu následujícím způsobem:
$ scp linuxshelltips.txt [email protected]:/home/ubuntu/
Počáteční provedení výše uvedeného demonstrovalo SCP příkaz vede k následující výzvě k zadání hesla:
[email protected]'s password:
Cílový soubor je zkopírován do určeného umístění až poté, co uživatel systému Linux zadá správné heslo spojené s uživatelem.
Co kdyby existoval jednořádkový příkaz, u kterého nemusíte čekat na výzvu k zadání hesla, než bude možné zkopírovat soubory a adresáře do jejich zamýšleného umístění?
Nainstalujte SSHPass v Linuxu – přidejte heslo SSH do příkazu
Abychom mohli probrat výše uvedenou otázku, musíme implementovat oba SSHPASS a SCP nástroje v jednom příkazu. Nejprve si řekněme, co je to SSHPASS nabídky nástrojů.
Logika SCP příkaz je kopírovat soubory a adresáře z hostitelského počítače do cílového počítače. SCP příkaz; sama o sobě nestačí k ověření hesla pomocí jednořádkového příkazu, a proto vede k postupné výzvě k zadání hesla pro uživatele operačního systému, aby zadal požadované přihlašovací heslo.
Když SSHPASS je implementován společně s SCP , eliminuje potřebu výzvy k zadání hesla před kopírováním souborů a adresářů uživatele.
$ sudo apt-get install sshpass [On Debian, Ubuntu and Mint] $ sudo yum install sshpass [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux] $ sudo emerge -a sys-apps/sshpass [On Gentoo Linux] $ sudo pacman -S sshpass [On Arch Linux] $ sudo zypper install sshpass [On OpenSUSE]
Jak přidat heslo k příkazu SCP v systému Linux
SSHPASS Případ použití neinteraktivní autentizace heslem lze implementovat spolu s SCP jak ukazuje následující syntaxe příkazu.
$ sshpass -p "REMOTE_USER_PASSWORD" scp UserName@Remote_Host:/DESTINATION_PATH_TO_COPIED_FILES
Mohl bych se například pokusit zkopírovat soubor na vzdálený server následujícím způsobem:
$ sshpass -p "REMOTE_USER_PASSWORD" scp linuxshelltips_v2.txt [email protected]:/home/ubuntu/
Ve výše uvedeném případě, pokud bychom chtěli zkopírovat soubory adresáře, použili bychom -r
možnost rekurzivně kopírovat všechny soubory, složky a podsložky v cílovém adresáři.
Zvažte následující příkaz.
$ sshpass -p "REMOTE_USER_PASSWORD" scp -r Some_Directory/ [email protected]:/home/ubuntu/
Jak bylo ukázáno, SSHPASS + SCP příkazy pomohou uživatelům Linuxu dosáhnout použití jednořádkového příkazu pro kopírování systémových/uživatelských souborů a adresářů z jednoho hostitelského počítače do jiného cílového počítače.
Cíleným umístěním úložiště zkopírovaných souborů a adresářů může být serverové prostředí Linux nebo desktopové prostředí Linux. SSHPASS + SCP nástroje umožňují rychlé, efektivní a ovladatelné kopírování souborů, protože nemusíte čekat na výzvu k zadání hesla, než se mohou provést vaše uživatelsky iniciované akce.
Při používání SSHPASS byste však měli být opatrní v síti zahlcené příliš mnoha uživateli, protože uživatel se zlými úmysly by mohl snadno ukrást vaše uživatelské heslo.