带proxycommand的sshpass返回而不运行任何操作
在我们的环境中,生产中有多台服务器。每次我想搜索的东西,它可能是在4个不同的服务器之一。 我正在创建一个脚本来自动执行此搜索,以便直接知道涉及哪个服务器 我正在通过jumphost连接 到目前为止,以下命令工作正常:带proxycommand的sshpass返回而不运行任何操作,ssh,proxy,sshpass,Ssh,Proxy,Sshpass,在我们的环境中,生产中有多台服务器。每次我想搜索的东西,它可能是在4个不同的服务器之一。 我正在创建一个脚本来自动执行此搜索,以便直接知道涉及哪个服务器 我正在通过jumphost连接 到目前为止,以下命令工作正常: $ssh-oProxyCommand=“ssh-W%h:%puser@jumphost" user@server“ls” 现在,因为我必须运行几次,我正在寻找一种只需使用一次密码的方法 jumphost和服务器都需要相同的密码,并且公钥不是一个选项(不允许,我确实不能这样做)。
$ssh-oProxyCommand=“ssh-W%h:%puser@jumphost" user@server“ls”
现在,因为我必须运行几次,我正在寻找一种只需使用一次密码的方法
jumphost和服务器都需要相同的密码,并且公钥不是一个选项(不允许,我确实不能这样做)。
为此,我一直在阅读有关sshpass的文章,我正在尝试:
$sshpass-p password ssh-oProxyCommand=“ssh-W%h:%puser@jumphost" user@server“ls”
(我知道-p不安全,一旦我成功执行此步骤,我将使用-e或-f)
当我这样做时,我可以在两个系统中登录,但是在我看到ls的结果之前,命令返回。
我尝试使用ssh的-t选项,但没有成功
我还尝试了ssh中的-J选项,得到了相同的结果(命令返回时不返回任何结果)
$sshpass-p密码ssh-Juser@jumphost user@server“ls”
有什么建议吗
编辑:
解决方案是使用sshpass两次:
$sshpass-pswordssh-oProxyCommand=“sshpass-psh-W%h:%puser@jumphost" user@server“ls”
尝试在详细模式下运行ssh:
ssh-vvv-oProxyCommand=“ssh-W%h:%puser@jumphost" user@server“ls”
我相信它会显示出一些有趣的东西。一个钩子,你可以用它来解决这个问题。这就成功了!使用verbose标志,我意识到我必须使用sshpass两次。我在问题中加上了答案。谢谢