SSH连接linux时,长时间不操作就断开的解决方案(增强版)

时间:2023-03-09 06:01:25
SSH连接linux时,长时间不操作就断开的解决方案(增强版)

1、第一次尝试失败

修改/etc/ssh/sshd_config文件,

找到

ClientAliveInterval 0

ClientAliveCountMax 3

并将注释符号("#")去掉,

将ClientAliveInterval对应的0改成60,

ClientAliveInterval指定了服务器端向客户端请求消息 的时间间隔, 默认是0, 不发送.
ClientAliveInterval 60表示每分钟发送一次, 然后客户端响应, 这样就保持长连接了.
ClientAliveCountMax, 使用默认值3即可.

ClientAliveCountMax表示服务器发出请求后客户端没有响应的次数达到一定值, 就自动断开.
 正常情况下, 客户端不会不响应.

重起sshd服务:

service sshd restart

依旧没多久就断开窗口

2、第二次尝试成功

为了增强Linux系统的安全性,我们需要在用户输入空闲一段时间后自动断开,这个操作可以由设置TMOUT值来实现。将以下字段加入到/etc/profile 中即可(对所有用户生效)。

export TMOUT=900    # 设置900秒内用户无操作就字段断开终端

readonly TMOUT     # 将值设置为readonly 防止用户更改

注意:设置了readonly 之后在当前shell下是无法取消的,需要先将/etc/profile 中设置readonly行注释起来或直接删除,logout 后重新login 。

$ export TMOUT=900

$ readonly TMOUT

$ unset TMOUT

-bash: unset: TMOUT: cannot unset: readonly variable

3、第三次尝试。。。

因为服务器是阿里云的,不知道还设置了啥,时间长了还是会断开。

如果使用的是CRT终端连接,那么设置反空闲即可,“选项-会话选项”。如下图:

SSH连接linux时,长时间不操作就断开的解决方案(增强版)