如何在登录计算机后立即ssh到另一台计算机

时间:2017-08-18 09:48:50

标签: linux ssh putty

问题:我正在处理的位置无法进入我的应用程序的主节点,例如 10.30.30.1 ,这是由另一个国家/地区托管的。为了解决这个问题,我有一个跳箱,我可以从我的位置ssh说 10.50.50.1

登录跳转框后,我再次运行命令 ssh 10.30.30.1

有没有什么方法可以省去我首先登录跳转框然后ssh进入主节点的步骤,因为这是我使用跳转框的唯一方法。

我可以配置跳转框以在我登录时直接运行该ssh命令吗? 是否有任何命令允许我通过单个命令或putty / MOBA XTerm配置中的跳转框直接登录到master?

2 个答案:

答案 0 :(得分:0)

将以下几行放入~/.ssh/config

Host target-host 
    ProxyJump jump-host

这假设服务器和客户端都运行OpenSSH >= 7.3。对于旧版本,您可以使用ProxyCommandnetcat代替ProxyJump。必须在跳转主机上安装netcat

Host target-host
    ProxyCommand ssh jump-host netcat -w 120 %h %p

答案 1 :(得分:0)

假设您首先执行ssh server1,然后在server1上执行ssh server2。您想要的是当您在本地计算机上执行ssh server1时,您可以自动登录server2

执行此操作的方法是添加一个在您登录server1时自动运行的脚本。您可以通过将代码ssh server2添加到~/.bashrc文件中来实现此目的(如果您使用的是Ubuntu。或者在其他操作系统中,文件名与~/.bashxxx类似)。

但在这样做之后,您每次登录server2时仍需要输入server1的密码。如果您不想手动输入server2的密码,则可以使用从server1server2的无密码ssh连接。请参阅this page了解具体方法。