![rsync 命令通过脚本传递密码](https://linux22.com/image/125132/rsync%20%E5%91%BD%E4%BB%A4%E9%80%9A%E8%BF%87%E8%84%9A%E6%9C%AC%E4%BC%A0%E9%80%92%E5%AF%86%E7%A0%81.png)
我正在使用以下命令
rsync -avze ssh myUser@REMOTE_SERVER:/REMOTE_PATH/ LOCAL_PATH
它要求输入密码。是否可以通过任何脚本传递密码?我不想使用ssh
钥匙。
答案1
您已将您的问题标记为perl
...
使用网络::OpenSSH:
#!/usr/bin/perl
use strict;
use Net::OpenSSH;
my $ssh = Net::OpenSSH->new(user => $user, password => $password);
$ssh->rsync_get({verbose => 1}, $remote_directory, $local_directory)
or die $ssh->error;
答案2
我认为 sshpass 会满足您的需要:
https://www.cyberciti.biz/faq/noninteractive-shell-script-ssh-password-provider/