防止树莓派SSH会话超时的配置方法
方法 1:修改树莓派 SSH 服务端配置
此方法直接调整树莓派的 SSH 服务配置,对所有客户端生效。
-
编辑 SSH 配置文件
在树莓派终端执行以下命令:sudo nano /etc/ssh/sshd_config
-
添加或修改以下参数
找到或追加以下两行(数值单位为秒):ClientAliveInterval 60 # 每 60 秒向客户端发送一次保持连接信号 ClientAliveCountMax 3 # 连续 3 次无响应才会断开连接(总超时时间 = 60x3 = 180秒)
-
重启 SSH 服务
sudo systemctl restart ssh
方法 2:修改客户端 SSH 配置
此方法在连接树莓派的电脑(客户端)上配置,仅对当前客户端生效。
-
编辑客户端 SSH 配置文件
在客户端电脑的终端执行:nano ~/.ssh/config
-
添加以下参数
Host raspberrypi # 替换为你的树莓派主机名或 IP ServerAliveInterval 60 # 每 60 秒向服务器发送一次保持连接信号 ServerAliveCountMax 3 # 连续 3 次无响应断开(总超时 = 60x3 = 180秒)
方法 3:临时解决(无需修改配置)
在 SSH 连接命令中直接附加参数:
ssh -o ServerAliveInterval=60 user@树莓派IP
其他可能性排查
-
检查 Shell 自动注销设置
如果树莓派的 Shell 配置了超时自动退出(如TMOUT
变量),需编辑~/.bashrc
或~/.profile
,删除或注释以下行:# 删除或注释此行 # export TMOUT=3600
-
禁用客户端超时(适用于 PuTTY 等工具)
- 在 PuTTY 的
Connection
→Seconds between keepalives
设置为60
。
- 在 PuTTY 的
-
检查路由器/防火墙设置
某些网络设备会主动关闭空闲连接,可通过调整上述 SSH 参数规避。
参数说明
参数 | 作用方向 | 说明 |
---|---|---|
ClientAliveInterval |
服务端→客户端 | 服务端主动检测客户端是否存活 |
ServerAliveInterval |
客户端→服务端 | 客户端主动检测服务端是否存活 |
*CountMax |
累计次数 | 连续无响应的最大次数,超过则断开 |
调整后,SSH 连接即使长时间无操作也不会自动断开。如果仍有问题,可适当减小 Interval
值(如 30
)。