ssh超时自动断开连接linux的解决方法

第一步 :修改/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表示每分钟发送一次, 然后客户端响应, 这样就保持长连接了.
  • lientAliveCountMax, 使用默认值3即可.

SSH Server 每 60秒就会自动发送一个信号给 Client,而等待 Client 回应,如果客户端没有回应,会记录下来直到记录数超过 ClientAliveCountMax(这里设置为3次) 的值时,才会断开连接。

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

重起sshd服务:
CentOS6:

[root@centos6 ~]# service sshd restart

CentOS7:

[root@centos7 ~]# systemctl restart sshd

总结:

Linux ssh会话中断由很多原因造成,有防火墙的原因,有网络连接质量的原因,也有服务器设置的原因

案例1:

我 ubuntu 18.04 自己配置成:每60秒发送一次,超过10次,就自动断掉

最后重新启动:

sun@karat:/etc/ssh$ sudo  systemctl restart sshd
sun@karat:/etc/ssh$

案例2:

下面的操作是在阿里云的服务器ubuntu14中的ssh配置中,由于没有发现这两个参数,所以我自己的该配置文件的结尾增加了两个参数的配置,即600秒10分钟10次链接,过后就断开,最后重启ssh。

ubuntu14, 重启ssh

root@iZwz99xibtof6c8lod50rhZ:/etc/ssh# /etc/init.d/ssh restart
ssh stop/waiting
ssh start/running, process 17454
root@iZwz99xibtof6c8lod50rhZ:/etc/ssh#             
编辑之后,重启ssh

本文参考:https://www.linuxrumen.com/rmxx/922.html

Leave a comment

您的邮箱地址不会被公开。 必填项已用 * 标注