设置Linux系统的空闲等待时间TMOUT的方法和Linux反空闲设置的两种方法

为了增强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

方式一:设置服务器端

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、屏幕日志记录功能

屏幕日志记录,可以记录自己执行过的所有命令和输出,便于以后追踪查找问题。

具体配置为:

选项-----全局选项-----默认会话-----编辑默认设置,弹出会话选项框,选择日志文件,可以配置日志文件名、选项、自定义日志数据,具体格式见日志文件名和自定义日志数据替换部分。

posted @ 2017-07-06 19:28  鼎峰Bruce  阅读(23918)  评论(0编辑  收藏  举报