解决 SSH 无操作自动断开 | pychram 超时无响应

工作中常需要连接着服务器,下班或暂时离开时会出现一段时间不操作终端,此时就会自动断开。 这本身无伤大雅,重连即可,直到我发现,一些依赖 SSH 提供的

工作中常需要连接着服务器,下班或暂时离开时会出现一段时间不操作终端,此时就会自动断开。

这本身无伤大雅,重连即可,直到我发现,一些依赖 SSH 提供的服务也会因此受到影响,比如 Pychram 远程开发,会在一段时间后无响应,只能重启 Pychram 解决,很影响效率。

为解决该问题,在网上找到一种配置方法,亲测一夜 (10h+) 不会再断开,在此分享:

众所周知,SSH 是用于与远程服务器建立加密通信通道的,因此配置涉及服务端和客户端:

  • 服务端 /etc/ssh/sshd_config
1
2
3
4
5
6
7
8
9
-#ClientAliveInterval 0  #服务器向客户端发送请求消息的时间间隔,默认为0,不发送
-#ClientAliveCountMax 3 #服务器发出求后客户端没有响应的最大次数,超过后将自动断开。
+ClientAliveInterval 60 #每60秒发送一个KeepAlive请求
+ClientAliveCountMax 15 #总时间为:15*60 ,15分钟没有操作,终端断开。

# 以下任意命令重启 sshd 服务
service sshd reload
service sshd restart
systemctl sshd restart
  • 客户端 ~/.ssh/config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 修改 ~/.ssh/config 对当前用户生效

# 这样配置通配所有服务端
Host *
ServerAliveInterval 60

# 指定IP配置
Host *hostname.com #指定IP
ServerAliveInterval 60

# 或是全局配置(对所有用户生效)
vim /etc/ssh/sshd_config

+ ServerAliveInterval 60

参考文献


解决 SSH 无操作自动断开 | pychram 超时无响应
https://www.frytea.com/post/20220119174924.html
作者
Tianlun Song
发布于
2022年1月19日
更新于
2024年6月10日
许可协议