为了增强Linux系统的安全性,我们需要在用户输入空闲一段时间后自动断开,这个操作可以由设置TMOUT值来实现。或者使用客户端工具,例如securecrt连接linux服务器,有的会出现过一段时间没有任何操作,客户端与服务器就断开了连接。造成这个的原因,主要是因为客户端与服务器之间存在路由器,防火墙以及为了本身的安全性,在超过特定的时间后就会把空闲连接断开。或者是服务器端设置了断开空闲连接。那么解决的方法有两种,一是从服务器着手,一是在客户端工具上下手。
方式一:设置服务器端
1、echo $TMOUT
如果显示空白,表示没有设置,等于使用默认值0, 一般情况下应该是不超时. 如果大于0,可以在如/etc/profile或者~/.bash_profile之类文件中设置它为0.
Definition: TMOUT: If set to a value greater than zero, 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
readonly TMOUT # 将值设置为readonly 防止用户更改。记得设置完后执行source /etc/profile //立即生效
2、修改/etc/ssh/sshd_config文件,将 ClientAliveInterval 0和ClientAliveCountMax 3的注释符号去掉,将ClientAliveInterval对应的0改成60,ClientAliveInterval指定了服务器端向客户端请求消息的时间间隔, 默认是0, 不发送.而ClientAliveInterval 60表示每分钟发送一次, 然后客户端响应, 这样就保持长连接了.ClientAliveCountMax, 使用默认值3即可.ClientAliveCountMax表示服务器发出请求后客户端没有响应的次数达到一定值, 就自动断开. 正常情况下,客户端不会不响应.最后记得执行/etc/init.d/sshd restart 哦,否则刚才的修改是不会生效的。
想参考更多,请输入man sshd_config了解更多信息
方式二:设置CRT参数(反空闲和屏幕日志记录功能)
1、反空闲
使用SecureCRT远程登录,经常会出现断掉的情况,一般采用top,或者ping某个ip的方式保证ssh连接处于激活状态,其实SecureCRT有一个选项可以设置每隔多少秒自动发送一个信息到服务器端,告诉服务器端客户端还在连接中。服务器的超时时间要大于CRT设置的反空闲时间,不然CRT还没反超时自动连接就被自动断开,那就没啥意义了。具体配置为:
选项------会话选项-----终端-----反空闲,可以设置发送字符串为n、null或其他信息过去,每10秒发送一次,这样就可以达到每10秒发送一个回车,保证ssh连接处于激活状态。
2、屏幕日志记录功能
屏幕日志记录,可以记录自己执行过的所有命令和输出,便于以后追踪查找问题。
具体配置为:
选项-----全局选项-----默认会话-----编辑默认设置,弹出会话选项框,选择日志文件,可以配置日志文件名、选项、自定义日志数据,具体格式见日志文件名和自定义日志数据替换部分。
以上这篇关于Linux反空闲设置的两种方法总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程网。