关于ssh超时退出 ClientAliveInterval ClientAliveCountMax

关于ssh超时退出

  • 如果服务器SSH老是被踢出连接

  • 或者 比如数据库连接,也老是失效,先改对时间

  • https://blog.csdn.net/xyz846/article/details/6367041?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%226367041%22%2C%22source%22%3A%22unlogin%22%7D

有2种方法

1、 配置服务器sshd_config

  • ClientAliveInterval
#vi /etc/ssh/sshd_config

1)找到 ClientAliveInterval参数,如果没有就自己加一行

数值是秒,比如你设置为120 ,则是2分钟

ClientAliveInterval 120

2)ClientAliveCountMax
指如果发现客户端没有相应,则判断一次超时,这个参数设置允许超时的次数。

  • 如3 、5等自定义

修改两项参数后如下:

ClientAliveInterval 120
ClientAliveCountMax 0   ###在不允许超时次数

重新加载sshd服务。退出客户端,再次登陆即可验证。

ClientAliveCountMax

  • https://www.sohu.com/a/329976109_354899

ClientAliveInterval是600,ClientAliveCountMax是0,则代表着如果600秒内终端没有操作,则断开ssh连接。

ClientAliveCountMax的值大于0

  • ClientAliveInterval:指定了服务器端向客户端请求消息的时间间隔,默认值是0;

  • ClientAliveCountMax:则指定这种请求服务器端发送后,客户端最多的无响应次数(但网上一般是说服务器端最多向客户端发送这种消息多少次,我觉得不太对),默认值是3。

如果ClientAliveInterval是60,ClientAliveCountMax是1,表面上看它的意思就是如果60s内客户端没有响应,服务器端就会给客户端发送一个请求判断还它存不存在,如果1次也就是60秒都没有任何回复,就断开连接。

所以咋一看上去,和ClientAliveCountMax的值是0时没啥区别,还是60秒后不操作就自动断开不了啊。

但实际上压根不一样,因为当服务器端给客户端发送一个请求判断还它存不存在时,客户端应该是会自动回复的,同时,ClientAliveCountMax并不是指会发送这种消息多少次,或者好像和这个压根就没关系,它应该是指服务器端发送这种请求后,客户端最多的无响应次数,而且还得是连续的,因为从源代码里面看(见下文),只要有一次正常相应,这个次数就会被清空。

也就是说,这里判断的应该是客户端那边网络有没有出现问题,比如断线了之类的

因为只要网络正常,客户端这边永远会自动回复服务器端发送过来的请求,则这个计数永远达不到限定的阈值1,也永远不会自动退出(理想情况下啊),和你有没有进行操作没有任何关系……

我自己测试过,将ClientAliveInterval设置为60,ClientAliveCountMax设置1,然后我一直不操作,同时我把xshell里保持活动状态的选项关掉:

img

结果就是到了60秒后根本不会自动退出……

然后我又把ClientAliveInterval和ClientAliveCountMax都设置成1,结果就是服务器那边每隔1秒就发个消息过来(有消息传输的时候那个箭头会亮):

img

要是按照网上的解释,最多只发送1次这种消息就结束会话,那压根解释不通,这都给我发了无数次了……

些代码的意思大概应该是这样,如果客户端在规定时间内没有响应,就先判断未响应次数是否超过设置的值,如果超过就结束。

如果没超过,就把这个次数加1,然后发送一个请求,看看客户端还在不在,如果客户端网络正常(应该会自动回复),就会得到客户端的回复,于是就重置这个未响应计数。

2、 配置客户端ssh_config

vi /etc/ssh/ssh_config

然后找到里面的
ServerAliveInterval

参数,如果没有你同样自己加一个就好了

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值