SSH 到主机#1,然后从主机#1 SSH 到主机#2,然后运行命令,然后保持连接

Mar*_*ten 3 ssh

我试图通过 SSH 连接到主机 #1,谁可以访问主机 #2,我想在主机 #2 上运行一个命令。全部来自我的本地机器。

这一点工作正常:

    ssh host1 -t "command; ssh user@host2"
Run Code Online (Sandbox Code Playgroud)

但是,在 host2 上,我也想 cd 到一个目录然后保持连接

我尝试使用这个:

    ssh host1 -t "command; ssh user@host2 -t 'command; cd /some/path/'"
Run Code Online (Sandbox Code Playgroud)

我得到的输出是:

    Connection to host2 closed.
    Connection to host1 closed.
Run Code Online (Sandbox Code Playgroud)

并最终出现在我的本地机器上

预期的结果是我的会话通过 host1 在 /some/path/ 目录中的 host2 上

set*_*ler 7

代替@heemayltmuxscreen按照@heemayl 的建议,您还可以使用bash

ssh host1 -t "command; ssh user@host2 -t 'command; cd /some/path/; bash'"
Run Code Online (Sandbox Code Playgroud)