使用SCP进行Bash文件传输问题

时间:2017-07-09 08:35:03

标签: bash shell rsync scp sshpass

我需要将文件从机器'A'传输到机器'B',我正在从'C'机器执行命令。

Run Command : 

$sshpass -p 'password_for_a' ssh -A -t a@x.x.x.x rsync -avz /home/test/* b@x.x.x.x:/home/test/

这会提示机器“B”的“Password”,我不想手动输入。我无法在机器“A”上安装“sshpass”,因为我没有安装lib / packages的授权。

是否仍然使用rsync / scp包含上述命令的密码?

我也尝试使用“scpPreferredAuthentications'来传递密码。

$sshpass -p 'password_for_a' ssh -A -t a@x.x.x.x scp -o PreferredAuthentications="password_for_b" /home/test/* b@x.x.x.x:/home/test/ 

我到了,

Permission denied (publickey,password).
lost connection

如果我在任何地方都错了,请纠正我?

2 个答案:

答案 0 :(得分:1)

没有像PreferredAuthentications="password_for_b"这样的东西。身份验证方法称为password。如果指定无效的东西,它显然会失败。设置公钥认证。

答案 1 :(得分:1)

全部谢谢,我生成了ssh-keygen并将密钥文件复制到(* .pub)各自的机器上。现在我可以做密码少的身份验证。澄清了帖子讨论。