ssh断线重连解决方法

方案一:客户端发送心跳

Linux / Unix 下: /etc/ssh/ssh_config
Windows: ~/.ssh/config

编辑 ssh 配置文件,在文件中对应的host添加以下内容:

# 每隔20秒,向服务器发出一次心跳。若超过999次请求都没有发送成功,则会主动断开与服务器端的连接。

$ ServerAliveInterval 20      #表示每隔多少秒,从客户端向服务器端发送一次心跳(alive 检测)。
$ ServerAliveCountMax 999      #表示服务端多少次心跳无响应之后,客户端才会认为与服务器的 SSH 连接已经断开,然后断开连接。
carbon.png

依赖 ssh 客户端定时发送心跳,putty、SecureCRT、XShell 也是这个原理。

方案二:服务器端发送心跳

在服务器端中,编辑 ssh 配置文件:

$ sudo vim /etc/ssh/sshd_config

在文件中添加以下内容:

# 每隔60秒,服务器向客户端发出一次心跳。
# 若客户端超过3次请求未响应,则会从服务器端断开与客户端的连接。
# 所以,总共允许无响应的时间是 60 * 3 = 180 秒以内

$ ClientAliveInterval 60 #    表示每隔多少秒,从服务器端向客户端发送一次心跳。
$ ClientAliveCountMax 3 #    表示客户端多少次心跳无响应之后,服务端才会认为客户端已经断开连接,然后断开连接。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。