在我的/etc/ssh/sshd_config
文件中,我设置了以下参数:
ClientAliveInterval 10
ClientAliveCountMax 3
现在,我从主机ssh
对我的服务器(我对/etc/ssh/sshd_config
)文件进行了更改。之后我ssh
通过运行以下命令重新启动服务:
/etc/init.d/sshd reload
我预计ssh
连接会在 30 秒后断开,但现在它已经持续了近一个小时。
有人可以让我知道这里出了什么问题吗?
我使用的是 OpenSSH 版本 6.1。
答案1
我不认为你可以使用 ssh 设置得到你想要的东西。ClientAlive*
设置是为了当 ssh 客户端和 ssh 服务器之间的连接变得无响应时,任何一方应该等待多长时间(这些显然是客户端的超时)。
相反,我会使用 Bash 的$TMOUT
环境变量让 shell 在一段设定的时间后断开连接。
TMOUT If set to a value greater than zero, TMOUT is treated as the
default timeout for the read builtin. The select command terminates
if input does not arrive after TMOUT seconds when input is coming
from a terminal. In an interactive shell, the value is
interpreted as the number of seconds to wait for input after issuing
the primary prompt. Bash terminates after waiting for that number of
seconds if input does not arrive.