shell 关闭时 tmux 服务器被终止

shell 关闭时 tmux 服务器被终止

在我的 SSH 会话结束时,Tmux 服务器和我的 tmux 会话被终止。

SSH 会话:

# timepoint 0

$ tmux
# timepoint 1

# ^D
[detached (from session 0)]
# timepoint 2

$ tmux a
# timepoint 3
# ^D
[detached (from session 0)]
# timepoint 4

$ exit
# timepoint 5

ps从第二个 SSH 会话看到的命令输出:

# timepoint 0
$ sudo ps aux | grep -v grep | grep tmux

# timepoint 1
$ sudo ps aux | grep -v grep | grep tmux
khouli   29401  0.0  0.0  19492  2884 pts/6    S+   02:31   0:00 tmux
khouli   29403  0.0  0.0  21792  3112 ?        Ss   02:31   0:00 tmux

# timepoint 2
$ sudo ps aux | grep -v grep | grep tmux
khouli   29403  0.0  0.0  21792  3112 ?        Ss   02:31   0:00 tmux

# timepoint 3
$ sudo ps aux | grep -v grep | grep tmux
khouli   29403  0.0  0.0  21792  3112 ?        Ss   02:31   0:00 tmux
khouli   29752  0.0  0.0  19492  1140 pts/6    S+   02:31   0:00 tmux a

# timepoint 4
$ sudo ps aux | grep -v grep | grep tmux
khouli   29403  0.0  0.0  21792  3112 ?        Ss   02:31   0:00 tmux

# timepoint 5
$ sudo ps aux | grep -v grep | grep tmux

在时间点 0,没有 tmux 进程。在时间点 1,tmux 客户端和服务器按预期运行。在时间点 2 与服务器分离后,只有服务器在运行。重新连接按预期工作,在时间点 3,服务器和客户端都在运行。在时间点 5,我们看到当 SSH 会话关闭时,它关闭了 tmux 服务器,这完全违背了使用 tmux 的意义。

发生了什么事或者我该如何调试它?

tmux 是 2.0 版本。shell 是 bash。

这个没有.tmux.conf文件。我有一个.bash_logout,但它只包含评论。

答案1

这是由于在我的 sshd 配置文件中使用而导致的AllowUsers。要么不使用此选项,要么将其包含rootAllowUsers修复中 -- 通过 ssh 启动的 tmux 会话在 ssh 会话关闭后仍然存在。

在我的 sshd 配置中,即使在内,也PermitRootLogin no似乎阻止了实际的远程登录。rootrootAllowUsers

整个事情感觉非常奇怪,因为没有rootAllowUsers我仍然可以 ssh 登录然后su成为 root 。

相关内容