我是 sshpass 命令的新手,我不知道如何在一个 sshpass 命令中给出两个密码
由于我不允许直接登录host2,所以我需要使用jumphost,passwordforHost1是host1的密码,对于host2不知道如何提供密码。
sshpass -p "passwordforHost1" ssh -o StrictHostKeyChecking=no -J <host1> <host2>
这工作正常,因为我只登录到主机1
sshpass -p "passwordforHost1" ssh -o StrictHostKeyChecking=no <host1>
sshpass
不支持 ssh 的 ProxyJump(-J) 选项,因此您应该尝试通过执行以下操作将其传递到 ssh 的 ProxyCommand:
sshpass -p password_host2 ssh -oProxyCommand="sshpass -p password_host1 ssh -W %h:%p <host1>" <host2>
如果您使用 IPv6 地址,请务必在 -W 标志后添加方括号,如下所示:
sshpass -p password_host2 ssh -oProxyCommand="sshpass -p password_host1 ssh -W [%h]:%p <host1>" <host2>
如果上述方法不起作用,请务必在第一个
-vvv
之后添加 sshpass
,以便您可以检查错误是什么。