通过多台机器远程ssh

时间:2017-04-14 13:10:24

标签: linux ssh

我正在尝试从机器A ssh到机器B,并从机器B执行ssh命令到机器C上,在机器C上执行一个命令,所有这些都是从机器A一步完成的。但是我进入机器后它无法正常工作B.它被​​困在那里。输出如下所示:

[root@A ~]# ssh  -t -t  root@192.168.40.152 << EOF
ssh -t  -t  root@192.168.40.153 << HK
hostname
HK
EOF

root@192.168.40.152's password:
ssh -t  -t  root@192.168.40.153 << HK
hostname
HK
Last login: Fri Apr 14 08:53:33 2017 from 192.168.40.151
[root@B ~]# ssh -t  -t  root@192.168.40.153 << HK
> hostname
> HK
root@192.168.40.153's password: redhat

它停在上述点并且没有执行命令&#39; hostname&#39;在机器C上。

感谢您的帮助。

由于

1 个答案:

答案 0 :(得分:2)

你可以尝试

ssh -J root@192.168.40.152 root@192.168.40.153 "hostname"

这将通过192.168.40.152执行ProxyJump并在192.168.40.153上执行hostname命令。

请注意,您需要至少拥有OpenSSH 7.3版才能拥有-J选项。