SSH客户端登录会话避免超时设置

jupiter
2024-03-21 / 0 评论 / 37 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2024年03月21日,已超过274天没有更新,若内容或图片失效,请留言反馈。

1.背景

通常默认公有云上的ECS远程连接,很容易断开,当你有什么事情被打断或者去操作别的机器同步做点其他事情,你会发现你SSH客户端登录窗口经常会断开掉,非常烦人,经常要重新登录。而且这时候终端会卡在那里,十分的不方便。所以在网上找了几个配置SSH的方法,能保证连接能够长时间不断开。 方法有两种,一般配置一种就可以。

2.配置方式

2.1 客户端配置

$ vim ~/.ssh/config #添加如下内容
Host *
 ServerAliveInterval 60
 ServerAliveCountMa 30

说明:

本地SSH Client每隔60s向Server端SSHD发送 keep-alive 包,如果发送30次, Server端还无回应则断开连接。

2.2 服务端配置

vim /etc/ssh/sshd_config

然后找到下面两项:

ClientAliveInterval 60
ClientAliveCountMax 30

这两项默认可能是注释掉的,去掉#,然后如上设置.

说明:

  • ClientAliveInterval: 这个其实就是SSH Server与Client的心跳超时时间,也就是说,当客户端没有指令过来,Server间隔ClientAliveInterval的时间(单位秒)会发一个空包到Client来维持心跳,60表示每分钟发送一次,然后客户端响应,这样就保持长连接了保证Session有效, 默认是0, 不发送;
  • ClientAliveCountMax:当心跳包发送失败时重试的次数,比如现在我们设置成了30,如果Server向Client连续发30次心跳包都失败了,就会断开这个session连接。

参考资料

  1. 保持SSH连接持续不断的配置方法-腾讯云开发者社区-腾讯云 (tencent.com)
  2. 配置SSH服务远程连接空闲超时退出时间(包括SSH无法登录、登录缓慢)-腾讯云开发者社区-腾讯云 (tencent.com)
0

评论 (0)

打卡
取消