1.现象
一段时间不操作服务器,ssh就会断连。像新开的云服务器,都会有此现象。
2.解决方法
2.1.方式一:客户端定时发送心跳(修改服务端配置)
修改/etc/ssh/ssh_config文件,添加如下配置,客户端就会定时向服务器发送心跳。
# 每30秒发送一次心跳检测
ServerAliveInterval 20
# 超过10次都没有成功,就主动断开与服务器的连接
ServerAliveCountMax 10
重启sshd服务
service sshd restart
2.2.方式二:服务端定时发送心跳
修改/etc/ssh/sshd_config配置文件,添加如下配置,服务器会定时向客户端发送心跳。
# 每30秒发送一次心跳检测
ClientAliveInterval 30
# 超过10次都没有成功,就主动断开与客户端的连接
ClientAliveCountMax 10
重启sshd服务
service sshd restart
2.3.方式三:客户端定时发送心跳(修改客户端配置)
该方式在管理多台服务器时比较方便,只需修改客户端文件,就可以在所有ssh连接中生效。
在客户端的~/.ssh/目录下添加config文件,并添加如下配置
# 每30秒发送一次心跳检测
ServerAliveInterval 20
# 超过10次都没有成功,就主动断开与服务器的连接
ServerAliveCountMax 10