最近撸了一个华为云服务器,还没有开始弄就遇到了个ssh保持长时间登录的问题。一直没有空弄,困扰了我很久了,今天终于解决了。


1、官方解决方案

首先来看下官方给出的解决方案

官网文档地址:https://support.huaweicloud.com/trouble-ecs/ecs_trouble_0306.html

1、具体步骤

1、打开sshd配置文件

    编译的方式打开文件/etc/ssh/sshd_config,值得注意的是这个文件需要速度权限才能修改。

2、设置参数

ClientAliveInterval 600      
ClientAliveCountMax 10

说明:

ClientAliveInterval 600 表示每600秒发送一次请求, 从而保持连接。

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

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

3、重启sshd服务

  • CentOS6操作系统

    # service sshd restart

  • CentOS7/EulerOS操作系统

    # systemctl restart sshd

我操作了上面所有的步骤,发现还是不行。今天才发现是没有保持连接的问题。

2、保持长连接的解决方案

基本步骤是一样的。第二步添加参数的时候多加一个参数。

TCPKeepAlive yes

3、总结

这个问题的原因是:设置检测时间太短,或者没有保持tcp长连接。

解决步骤:

  • 步骤1:打开sshd配置文件(/etc/ssh/sshd_config)
  • 步骤2:修改三个参数

        ClientAliveInterval 600      
        ClientAliveCountMax 10

        TCPKeepAlive yes

  • 步骤3:重启sshd服务
Logo

更多推荐