我是 tmux 的新手,所以这个问题可能有一个非常简单的答案,但标题几乎总结了这个问题。
假设我在 tmux 窗口中通过 ssh 连接到服务器,然后我去了<prefix>-C
。突然间我必须再次 ssh,这可能会很烦人。有没有办法自动识别我已经从 ssh 窗口打开了另一个窗口,并在新窗口中自动运行相同的命令?
答案1
几个月前我偶然发现了你的问题,并且一直在寻找同样的问题。我终于弄清楚了如何完成你答案的一部分,也就是最难的部分(拆分现有的 SSH)。首先安装并配置西门子高压(SSH 助手)将当前 SSH 会话拆分到新窗格中。然后,我们可以通过ssh
将以下内容添加到我们的 SSH 配置中来重复使用相同的连接,从而使其变得非常快:
ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r
ControlPersist 4h # change to whatever you like, but 4h is a good start.
请记住,如果我们的连接被终止,有时我们必须这样做rm --force /tmp/ssh_mux_*
。超快的 SSH 拆分的权衡是值得的!
另外,sshh
不能与开箱即用的 Fish shell 配合使用,但我知道如何让它工作,请参阅https://github.com/yudai/sshh/issues/4。