SSH保持连接的活跃度
为了防止 SSH 会话在长时间不活动后卡死,可以通过配置 SSH 客户端和服务器的设置来保持连接的活跃度。以下是解决方案的步骤:
客户端配置
-
编辑 SSH 客户端配置文件:
打开~/.ssh/config
文件(如果没有该文件,可以创建一个)。 -
添加或修改以下配置:
Host *
ServerAliveInterval 60
ServerAliveCountMax 5
ServerAliveInterval 60
:每隔 60 秒发送一个消息给服务器,确保连接活跃。ServerAliveCountMax 5
:如果服务器没有响应 5 次,客户端将断开连接。
服务器配置
-
编辑 SSH 服务器配置文件:
打开/etc/ssh/sshd_config
文件。 -
添加或修改以下配置:
ClientAliveInterval 60
ClientAliveCountMax 3
ClientAliveInterval 60
:每隔 60 秒服务器向客户端发送一个请求,确保连接活跃。ClientAliveCountMax 3
:如果客户端在 3 次请求后未响应,服务器将断开连接。
- 重启 SSH 服务以应用更改:
sudo systemctl restart sshd
说明
- ServerAliveInterval 和 ClientAliveInterval 的作用是定期向对方发送数据包,以防止连接因空闲而断开。
- 配置值可以根据网络环境适当调整,例如在网络状态不稳定的情况下,可以缩短间隔时间。
- 确保客户端和服务器两边都进行配置,可以更有效预防连接中断。