Základní příkaz pro kopírování souborů na vzdálený server.
Kopírování souborů a adresářů z jednoho systému do jiného je běžným úkolem každého správce systému. SCP, také nazývané zabezpečené kopírování, je nástroj příkazového řádku Linuxu používaný k bezpečnému kopírování nebo přenosu souborů z jednoho serveru na druhý. Příkaz SCP umožňuje zkopírovat soubor nebo adresář z místního systému do vzdáleného systému, ze vzdáleného systému do místního systému nebo mezi dvěma vzdálenými systémy z vašeho lokálního systému.
Když použijete příkaz SCP, budete muset před přenosem souboru zadat heslo vzdáleného uživatele.
Kopírování souborů pomocí příkazu SCP
Základní syntaxe pro kopírování souboru z místního systému do vzdáleného systému je uvedena níže:
scp filename user@remotehost:/directory/path
Chceme-li například zkopírovat soubor s názvem file1.txt z místního systému do vzdáleného systému s adresou IP 192.168.1.100 v adresáři /mnt, spusťte následující příkaz:
scp file1.txt root@192.168.1.100:/mnt/
Základní syntaxe pro kopírování souboru ze vzdáleného systému do místního systému je uvedena níže:
scp user@remotehost:/file/path local/path
Chceme-li například zkopírovat soubor s názvem file1.txt ze vzdáleného systému s adresou IP 192.168.1.100 do místního systému v adresáři /opt, spusťte následující příkaz:
scp root@192.168.1.100:/mnt/file1.txt /opt/
Budete vyzváni k zadání hesla vzdáleného uživatele, jak je uvedeno níže:
root@192.168.1.100 password:
Zadávání hesla je tedy nutné při každém spuštění příkazu SCP při komunikaci mezi počítači. Jak zajistit, aby se heslo nemuselo zadávat, ale bylo součástí příkazu SCP.
Nainstalujte sshpass v Linuxu
sshpass je jednoduchý nástroj příkazového řádku, který umožňuje zadat hesla do samotného příkazového řádku. Je to velmi užitečné ve skriptu shellu, když chceme zálohovat pomocí úlohy cron. Ve výchozím nastavení není sshpass součástí žádného operačního systému Linux, takže musíme do svého systému Linux nainstalovat nástroj sshpass, abycom mohli heslo předat příkazu SCP. Pro Ubuntu a operační systém založený na Debianu nainstalujte sshpass pomocí následujícího příkazu:
apt-get install sshpass -y
Jak předat heslo pomocí příkazu SCP
Základní syntaxe pro předání hesla pomocí příkazu SCP je uvedena níže:
sshpass -p "remote-user-password" scp filename user@remotehost:/dir/path/
Pokud například chcete zkopírovat soubor s názvem file1.txt na vzdálený server s IP 192.168.1.100, použijte následující příkaz:
sshpass -p "password" scp file1.txt root@192.168.1.100:/mnt/
Jak je vidět, příkaz sshpass + SCP pomůže zkopírovat soubory a adresáře z jednoho systému do druhého pomocí jednořádkového příkazu.