第一步 :修改/etc/ssh/sshd_config文件

[root@centos7 ~]# vi /etc/ssh/sshd_config

找到以下内容并修改它:

ClientAliveInterval 0

ClientAliveCountMax 3

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

将ClientAliveInterval对应的0改成60,

226498c3cf7e57f9e8bd8975f9db7283.png

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就是设置不超时

5bff0d4e9cdc65df14f1888f92dbb199.png

立即生效:

[root@centos7 ~]# source /etc/profile

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

450f408085f9a4dc813c3fe4dc1a7d35.png

总结:Linux ssh会话中断由很多原因造成,有防火墙的原因,有网络连接质量的原因,也有服务器设置的原因, 本文只介绍服务器的原因及其解决方法。其它的原因并不在本文讨论中。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐