使用 sshpass 使用 Jumpserver 选项通过 ssh 登录

问题描述 投票:0回答:1

我是 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>
linux ssh ubuntu-16.04 sshpass
1个回答
0
投票

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
,以便您可以检查错误是什么。

© www.soinside.com 2019 - 2024. All rights reserved.