腾讯云国际站:如何解决SSH连接超时?

服务器端设置

  • 修改 SSH 配置文件 :在服务器上编辑/etc/ssh/sshd_config文件,找到以下参数并进行修改:

    • ClientAliveInterval:设置服务器向客户端发送存活探测消息的时间间隔(秒),建议设置为 300(5 分钟),防止连接因长时间无操作而被意外断开。
    • ClientAliveCountMax:设置服务器发送存活探测消息的次数,若超过该次数未收到客户端响应则断开连接,建议设置为 3。
    • 修改完成后执行systemctl restart sshd命令重启 SSH 服务,使配置生效。

客户端设置

  • 修改 SSH 配置文件 :在客户端编辑~/.ssh/config文件,添加以下配置:

    • ServerAliveInterval:设置客户端向服务器发送存活探测消息的时间间隔(秒),建议设置为 300。
    • TCPKeepAlive:设置是否启用 TCP KeepAlive 功能,建议设置为yes,以保持连接的活跃状态。

网络环境优化

  • 检查网络连接稳定性 :使用ping命令测试客户端与服务器之间的网络连接是否稳定,确保网络没有中断或丢包现象。
  • 避免防火墙限制 :检查服务器和客户端的防火墙设置,确保允许 SSH 连接通过。可以通过telnet example.com 22命令测试 SSH 端口是否开放。

超时时间设置

  • 调整应用程序超时时间 :如果 SSH 连接是通过某个应用程序发起的,可以在应用程序的配置文件中增加 SSH 连接的超时时间。例如,某些编程语言的库可能允许设置连接超时时间,可根据实际情况进行调整。

示例

  • 服务器端配置示例

    • 编辑/etc/ssh/sshd_config文件,在文件末尾添加以下内容:

      bash

      ClientAliveInterval 300
      ClientAliveCountMax 3
      
    • 保存文件并执行systemctl restart sshd重启 SSH 服务。

  • 客户端配置示例

    • 编辑~/.ssh/config文件,添加以下内容:

      bash

      Host *
          ServerAliveInterval 300
          TCPKeepAlive yes