我需要将文件从机器"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",因为我没有安装库/包的授权。
是否可以使用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
如果我在任何地方都错了,请纠正我?
没有什么比PreferredAuthentications="password_for_b"
.身份验证方法称为password
。如果指定了无效的内容,则显然会失败。设置公钥身份验证。
谢谢大家,我生成了 ssh-keygen 并将密钥文件复制到 (*.pub( 各自的机器上。现在我可以执行无密码身份验证。得到了澄清的帖子讨论。