我已经使用“ClientAliveInterval 7200”设置了空闲 ssh 会话的自动注销
但是,我并没有被注销,其他使用服务器的人都登录正常。
我已经将问题根源追溯到我个人的 .screenrc 中的这一行
标题始终为“%{WB}%H %{kG}%?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{kG}%?%+Lw%? %88=%{YR}%M%d %94=%{RY}%c%=”
有人知道为什么这会导致注销功能失效吗?
是否有更好的自动注销设置可供使用且无法被覆盖?
我正在使用 FreeBSD 8.0
答案1
ClientAliveInterval 不会注销空闲连接。它会检查客户端是否仍然处于连接状态(类似于 TCPKeepAlive,但已加密)。如果客户端响应这些请求(Putty 的默认设置,而不是大多数 *nix ssh 的默认设置),则连接将无限期保持打开状态。
如果您希望注销空闲用户,则需要通过 shell 执行此操作。对于 Bash、Ksh 和 Zsh,请添加export TMOUT=7200
到 rc 文件中。
答案2
所以我猜以前没人遇到过这个问题,我找不到任何原因,也无法通过其他自动注销选项找到解决此问题的方法。bash 的 TMOUT 不起作用,因为它一次只注销一个屏幕。