前进笔记

提高心跳包发送间隔让 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」版。查看和发表评论请点击:完整版 »