Linux系统管理员有时候为了增强Linux系统的安全性,做了一些限制设置,你通过SecureCRT等工具远程连接到服务器后,当你一段时间没有任何操作(空闲一段时间)后,你会发现连接自动关闭断开了,提示需要重新连接。那么Linux系统管理员是通过什么配置来实现的呢?一般来说,这个是通过TMOUT环境变量或sshd_config的参数设置来实现。下面我们来简单介绍一下:

TMOUT环境变量

TMOUT是一个bash变量,用于控制用户在没有任何活动时自动注销Linux用户。当你给TMOUT设置一个值,例如TMOUT=900,表示900秒内无任何操作就会自动退出登录。如果你设置TMOUT=0表示永不自动退出。

export TMOUT=900    # 设置900秒内用户无操作就自动断开终端
readonly TMOUT      # 将值设置为readonly 防止用户更改

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

如果在/etc/profile中设置环境变量TMOUT,这个是全局的,它会对所有用户生效。另外,需要注意,不仅可以在/etc/profile中设置环境变量TMOUT,也可以在~/.bash_profile中设置TMOUT环境变量,而且优先级高于/etc/profile中的TMOUT设置。所以当你设置后,最后最好检查一下环境变量TMOUT的值.防止有些地方没有修改到。

echo $TMOUT
7200
##或
set | grep TMOUT
7200

另外,如果你想在某个会话窗口取消这个设置,可以使用命令unset TMOUT取消TMOUT设置或将TMOUT设置为0,当然前提是没有设置readonly TMOUT。

SSH超时断开

在/etc/ssh/sshd_config文件,可以通过参数ClientAliveInterval和ClientAliveCountMax设置ssh超时断开。

ClientAliveInterval :指定了服务器端向客户端请求消息的时间间隔, 默认是0, 表示不发送. 单位是秒。

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

如果你在/etc/ssh/sshd_config配置文件中做了如下设置的话,意味着客户端空闲300*3=900秒后就会断开链接。

#每隔300秒给客户端发送一次保活信息包给客户端
ClientAliveInterval  300

#Server端发出的请求客户端没有回应的次数达到3次的时候就断开连接,正常情况下客户端都会相应
ClientAliveCountMax  3

注意:修改上述参数后,必须重启sshd服务

systemctl restart sshd

其实除了上述设置外,一些防火墙也会关闭超时的空闲连接,这个就比较隐蔽了,需要跟网络管理员一起检查。

另外,如果你对这些断开超时的空闲连接设置比较苦恼,而你有没有权限修改上面环境变量或参数时,我们可以通过客户端的一些反空闲限制设置解决这个问题,如下所示:

SecureCRT在“会话选项”——> “终端”——> “反空闲” 中设置每隔多少秒发送一个字符串,或者是NO-OP协议包。

qq超时登录_qq总是登陆超时_qq登陆超时是什么意思

如果是Putty的话,可以如下设置

Putty:putty -> Connection -> Seconds between keepalives ( 0 to turn off ), 默认为0, 改为300。

限时特惠:本站每日持续更新海量各大内部网赚创业教程,会员可以下载全站资源点击查看详情
站长微信:11082411

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。