Ubuntu 下 SecureCRT 防止连接超时的实用方案
一 客户端 SecureCRT 设置
- 启用反空闲保活:在会话或全局默认会话中,进入 Options → Session Options → Terminal → Anti-idle,勾选 Send protocol NO-OP,设置间隔为 60 秒(可按网络情况设为 30–300 秒)。这样客户端会定期发送保活报文,避免链路因空闲被中断。若需对所有会话生效,在 Global Options → Default Session → Edit Default Settings 中做同样设置。
- 调整连接级超时:在 Session Options → Connection → Timeouts 中,适当增大 Send Timeout / Receive Timeout(如设为 30–60 秒),并开启 Reconnect 相关选项(如 Auto Reconnect、Reconnect Attempts、Reconnect Interval),以应对短暂网络抖动导致的掉线。
- 开启 TCP Keepalives:在 Session Options → Connection → TCP/IP 勾选 Enable TCP keepalives,让操作系统在底层定期发送探测包,减少 NAT/防火墙空闲回收导致的断连。
二 服务器端 SSH 配置(需有权限时)
- 开启 SSH 保活:编辑 /etc/ssh/sshd_config,设置
- ClientAliveInterval 180(每 180 秒向客户端发送一次保活请求)
- ClientAliveCountMax 3(最多 3 次无响应后断开)
修改后执行 sudo systemctl restart sshd 或 sudo systemctl reload sshd 生效。
- 检查 Shell 层超时:若服务器端设置了 TMOUT(如 /etc/profile、~/.bash_profile、~/.bashrc),会话空闲超过该值会被强制结束。建议将 TMOUT 设为大于客户端反空闲间隔的值(例如 1800 秒),或注释/删除该行以避免被服务端提前断开。
三 快速排查清单
- 网络与访问控制:确认 网络连通性、目标主机/端口正确,排查 防火墙/安全组是否放行 22 端口。
- 服务状态:确认服务器 SSH 服务正在运行并允许外部连接。
- 配置生效:修改 sshd_config 后执行 reload/restart;客户端修改建议先应用到 Default Session 再测试。
- 虚拟机场景:如使用 VMware/VirtualBox,确保网络模式(桥接/NAT)与宿主机互通,且虚拟机 SSH 已启动、防火墙放行。
四 推荐参数示例
- 客户端(SecureCRT):
- Anti-idle:Send protocol NO-OP,60 秒
- Timeouts:Send/Receive 30–60 秒;开启 Auto Reconnect
- TCP/IP:Enable TCP keepalives
- 服务器端(/etc/ssh/sshd_config):
- ClientAliveInterval 180,ClientAliveCountMax 3
- 如需 Shell 层保护:TMOUT 1800(或不设置)
- 提示:客户端反空闲间隔应小于服务器端 TMOUT(若启用),以避免被服务端先断开。