操作场景

使用 SSH 方式登录 CentOS 操作系统的弹性云服务器时,过一段时间就会自动断开连接。本节操作介绍如何保持 SSH 会话持续连接不断开。

说明

本节操作涉及重启 sshd 服务,会造成 sshd 断开。

操作方法

  1. 编辑 /etc/ssh/sshd_config,添加以下配置项:

    # vim /etc/ssh/sshd_config
    ……
    ClientAliveInterval 600
    ClientAliveCountMax 10
    ……
    说明
    • ClientAliveInterval 600 表示每 600 秒发送一次请求,从而保持连接。

    • ClientAliveInterval 设置超时间隔(以秒为单位),在此间隔之后,如果尚未从客户端接收到任何数据,则 sshd 将通过加密的通道发送消息以请求客户端的响应。默认值为 0,表示这些消息将不会发送到客户端。此选项仅适用于协议版本 2。

    • ClientAliveCountMax 10 表示服务器发出请求后客户端没有响应的次数达到 10 次,就自动断开连接。

    • ClientAliveCountMax 设置客户端活动消息的数量,该消息可以在 sshd 接收不到来自客户端的任何消息的情况下发送。如果在发送客户端活动消息时达到此阈值,则 sshd 将断开客户端连接,从而终止会话。

    • 无响应的 SSH 客户端将在大约 600x10=6000 秒后断开连接。

  2. 执行以下命令,重启 sshd 服务,使配置生效。

    • CentOS6 操作系统

      service sshd restart
    • CentOS7 操作系统

      systemctl restart sshd