提高心跳包发送间隔让 SSH 保持长时间连接
每次合上笔记本盖子下楼吃时 SSH 总是自动断开,挂代理也常常自动断开,总是让我很困扰
修改服务端配置
发送心跳包间隔由服务端配置中的 ClientAliveInterval 决定,默认为 0 即不发送,且被注释,只要提高这个值就行
sed 's/^#ClientAliveInterval 0/ClientAliveInterval 3600/' /etc/ssh/sshd_config
systemctl restart sshd
ClientAliveInterval 3600 #每隔 1 小时发送一个 KeepAlive 请求
或者手动编辑(vim):
sudo vi /etc/ssh/sshd_config
终端程序应当做出相应修改
将 KeepAliveTime 提高(小于等于ClientAliveInterval)
若使用命令行连接则新增参数
ServerAliveInterval
例
ssh -o ServerAliveInterval=3600 root@host
另一个我没有进行设置的配置参数 ClientAliveCountMax 决定请求发送次数,超过次数就会自动断开,比如
ClientAliveInterval 3600
ClientAliveCountMax 24
每隔 1 小时发送一个 KeepAlive 请求,总共发送24次。即每次连接次数不超过24小时,超时将自动断开。
当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »