本文最后更新于 538 天前,其中的信息可能已经有所发展或是发生改变。
方法一:配置服务端
可以在服务端配置,让 server 每隔 30 秒向 client 发送一个 keep-alive 包来保持连接:
vim /etc/ssh/sshd_config
ClientAliveInterval 30
ClientAliveCountMax 60
第二行配置表示如果发送 keep-alive 包数量达到 60 次,客户端依然没有反应,则服务端 sshd 断开连接。如果什么都不操作,该配置可以让连接保持 30s*60,30 min
重启本地 ssh
sudo service ssh restart
方法二:配置客户端
如果服务端没有权限配置,或者无法配置,可以配置客户端 ssh,使客户端发起的所有会话都保持连接:
vim /etc/ssh/ssh_config
ServerAliveInterval 30
ServerAliveCountMax 60
本地 ssh 每隔 30s 向 server 端 sshd 发送 keep-alive 包,如果发送 60 次,server 无回应断开连接。