第一步 :修改/etc/ssh/sshd_config文件
[root@centos7 ~]# vi /etc/ssh/sshd_config
找到以下内容并修改它:
ClientAliveInterval 0 ClientAliveCountMax 3
并将注释符号("#")去掉,
将ClientAliveInterval对应的0改成60,
修改/etc/ssh/sshd_config文件
ClientAliveInterval指定了服务器端向客户端请求消息 的时间间隔, 默认是0, 不发送.
ClientAliveInterval 60表示每分钟发送一次, 然后客户端响应, 这样就保持长连接了.
ClientAliveCountMax, 使用默认值3即可.
ClientAliveCountMax表示服务器发出请求后客户端没有响应的次数达到一定值, 就自动断开.
正常情况下, 客户端不会不响应.
重起sshd服务:
CentOS6:
[root@centos6 ~]# service sshd restart
CentOS7:
[root@centos7 ~]# systemctl restart sshd
第二步:修改环境变量文件/etc/profile
为了增强linux系统的安全性,我们需要在用户输入空闲一段时间后自动断开,这个操作可以由设置TMOUT值来实现。将以下字段加入到/etc/profile 中即可(对所有用户生效)。
用以下命令判断是否是否设置了该参数
[root@centos7 ~]# echo $TMOUT
如果输出空或0表示不超时,大于0的数字n表示n秒没有收入则超时
修改方法
[root@centos7 ~]# vi /etc/profile
添加以下内容:
export TMOUT=0
将以上修改为0就是设置不超时
修改/etc/profile文件
立即生效:
[root@centos7 ~]# source /etc/profile
如果使用的是CRT终端连接,那么设置反空闲即可,“选项-会话选项”。如下图:
设置终端软件定期连接反空闲
总结
Linux ssh会话中断由很多原因造成,有防火墙的原因,有网络连接质量的原因,也有服务器设置的原因, 本文只介绍服务器的原因及其解决方法。其它的原因并不在本文讨论中。
本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:
https://www.linuxrumen.com/rmxx/922.html