最近使用国内某云的VPS,发现SSH连接长时间不操作就会被断开,于是搜索一番,找来解决方案。
解决方法很简单,只需要配置本地主机两个参数就可以了。
ServerAliveInterval 60 发送保持活跃的数据包时间间隔,单位为秒,默认300秒。
ServerAliveCountMax 10 系统ssh服务维持最大的保活连接数量,默认是3。
注意:以下配置文件均是客户端主机上的配置文件,不是配置服务器ssh主机。
一、全局配置,所有用户都生效
sweet@client-system$ vim /etc/ssh/ssh_config
Host *
ServerAliveInterval 120
ServerAliveCountMax 16
二、本用户配置,只有本用户才生效
sweet@client-system$ vim ~/.ssh/config
Host *
ServerAliveInterval 120
ServerAliveCountMax 16
细心的朋友应该注意到了,配置里面还有"Host *",这是用来指定对那个ssh服务器生效的。星号*表示所有远程主机均生效。如果只想针对某个主机或者某个IP段可以这样子设置。
1.针对某个主机
Host remote.host.com
ServerAliveInterval 120
ServerAliveCountMax 16
2.针对IP段或者IP段
Host 192.168.20.* 针对20的IP段
Host 192.168.20.128 针对128主机
ServerAliveInterval 120
ServerAliveCountMax 16
最后不得不吐槽一下,同样是VPS,人家DO就没这个问题,某云就有。可能跟某云的防火墙有关系。