【发布时间】:2022-02-25 07:37:25
【问题描述】:
我有十台左右的服务器定期使用 SSH 连接。每个在我本地计算机的 ~/.ssh/config 文件中都有一个条目。
为了避免在我的 Internet 连接不可避免地断开时失去对运行进程的控制,我总是在 tmux 会话中工作。我想要一种在每次启动 SSH 连接时让 tmux 自动连接的方法,这样我就不必在 SSH 后总是输入 tmux attach || tmux new。
不幸的是,这并没有我最初希望的那么简单。
- 我不想向服务器上的
~/.bashrc添加任何命令,因为我只希望它用于 SSH 会话,而不是本地会话。 - 将
tmux attach || tmux new添加到服务器上的~/.ssh/rc只会在连接后引发错误not a terminal,即使在我的本地SSH 配置文件中该服务器的行中添加了RequestTTY force选项。
【问题讨论】:
-
这仍然是一个热门问题。我想指出,自五年前以来,tmux 发生了很大变化。更高层的答案并没有反映完全不通过 shell 执行此操作的最佳实践,而是通过
~/.ssh/config。因此,大多数人可能需要的答案是stackoverflow.com/a/52838493/5354137。