我需要将文件从机器'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
包含上述命令的密码?
我也尝试使用“scp
”PreferredAuthentications
'来传递密码。
$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
如果我在任何地方都错了,请纠正我?
答案 0 :(得分:1)
没有像PreferredAuthentications="password_for_b"
这样的东西。身份验证方法称为password
。如果指定无效的东西,它显然会失败。设置公钥认证。
答案 1 :(得分:1)
全部谢谢,我生成了ssh-keygen并将密钥文件复制到(* .pub)各自的机器上。现在我可以做密码少的身份验证。澄清了帖子讨论。