防止树莓派SSH会话超时的配置方法

方法 1:修改树莓派 SSH 服务端配置

此方法直接调整树莓派的 SSH 服务配置,对所有客户端生效。

  1. 编辑 SSH 配置文件
    在树莓派终端执行以下命令:

    sudo nano /etc/ssh/sshd_config
    
  2. 添加或修改以下参数
    找到或追加以下两行(数值单位为秒):

    ClientAliveInterval 60      # 每 60 秒向客户端发送一次保持连接信号
    ClientAliveCountMax 3       # 连续 3 次无响应才会断开连接(总超时时间 = 60x3 = 180秒)
    
  3. 重启 SSH 服务

    sudo systemctl restart ssh
    

方法 2:修改客户端 SSH 配置

此方法在连接树莓派的电脑(客户端)上配置,仅对当前客户端生效。

  1. 编辑客户端 SSH 配置文件
    在客户端电脑的终端执行:

    nano ~/.ssh/config
    
  2. 添加以下参数

    Host raspberrypi          # 替换为你的树莓派主机名或 IP
        ServerAliveInterval 60   # 每 60 秒向服务器发送一次保持连接信号
        ServerAliveCountMax 3    # 连续 3 次无响应断开(总超时 = 60x3 = 180秒)
    

方法 3:临时解决(无需修改配置)

在 SSH 连接命令中直接附加参数:

ssh -o ServerAliveInterval=60 user@树莓派IP

其他可能性排查

  1. 检查 Shell 自动注销设置
    如果树莓派的 Shell 配置了超时自动退出(如 TMOUT 变量),需编辑 ~/.bashrc~/.profile,删除或注释以下行:

    # 删除或注释此行
    # export TMOUT=3600
    
  2. 禁用客户端超时(适用于 PuTTY 等工具)

    • 在 PuTTY 的 ConnectionSeconds between keepalives 设置为 60
  3. 检查路由器/防火墙设置
    某些网络设备会主动关闭空闲连接,可通过调整上述 SSH 参数规避。


参数说明

参数 作用方向 说明
ClientAliveInterval 服务端→客户端 服务端主动检测客户端是否存活
ServerAliveInterval 客户端→服务端 客户端主动检测服务端是否存活
*CountMax 累计次数 连续无响应的最大次数,超过则断开

调整后,SSH 连接即使长时间无操作也不会自动断开。如果仍有问题,可适当减小 Interval 值(如 30)。

posted @ 2025-05-23 11:38  蓝莓薄荷  阅读(103)  评论(0)    收藏  举报