在我的 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
。要么不使用此选项,要么将其包含root
在AllowUsers
修复中 -- 通过 ssh 启动的 tmux 会话在 ssh 会话关闭后仍然存在。
在我的 sshd 配置中,即使在内,也PermitRootLogin no
似乎阻止了实际的远程登录。root
root
AllowUsers
整个事情感觉非常奇怪,因为没有root
它AllowUsers
我仍然可以 ssh 登录然后su
成为 root 。