在连接远程SSH服务的时候,经常会发生长时间后的断线,或者无响应(无法再键盘输入)。每次SSH终端登录上去以后,只要有十几秒钟终端没有活动,连接就中断了。
解决办法:
1、依赖ssh客户端定时发送心跳。
#打开
sudo vim /etc/ssh/ssh_config
# 添加
ServerAliveInterval 20
ServerAliveCountMax 999
即每隔20秒,向服务器发出一次心跳。若超过999次请求,都没有发送成功,则会主动断开与服务器端的连接。
2、更改服务器端,即在ssh远端。
# 打开
sudo vim /etc/ssh/sshd_config
# 添加
ClientAliveInterval 30
ClientAliveCountMax 6
ClientAliveInterval表示每隔多少秒,服务器端向客户端发送心跳。
下面的ClientAliveInterval表示上述多少次心跳无响应之后,会认为Client已经断开。
所以,总共允许无响应的时间是60*3=180秒=3分钟。
做完以上修改之后要记得重启sshd服务后解决。 sudo service ssh restart
目前没什么问题了!谢谢观看,如有问题欢迎留言指正!