使用第三方SSH客户端远程连接Linux实例时,提示“Too many authentication failures”错误怎么办?

本文介绍使用第三方SSH客户端远程连接Linux实例时,提示“Too many authentication failures”错误的问题原因和解决方案。

问题现象

使用第三方SSH客户端远程连接Linux实例时,连接失败,提示“Too many authentication failures”。

2023-03-08_14-18-25

问题原因

ECS实例内SSH远程登录配置文件(/etc/ssh/sshd_config)中配置了密码重试策略,多次连续输入错误密码后,提示该错误。

说明

该配置不会导致相关账号被锁定,只会断开相应会话。您可以再次输入密码尝试登录。

解决方案

如果您多次输入密码,还是不能登录,建议您重置密码后,重新登录。具体操作,请参见重置实例登录密码

密码重试策略可以提高ECS实例的安全性,建议您基于安全性和易用性权衡后,确定是否需要修改相关配置。如果您需要修改密码重试策略,请参考以下步骤。

  1. 以VNC方式登录ECS实例。

    具体操作,请参见通过密码认证登录Linux实例

  2. 执行如下命令,查看sshd_config文件中是否包含类似如下配置。

    cat /etc/ssh/sshd_config

    系统显示类似如下,表示连续6次输入密码错误后,会断开SSH连接。

    MaxAuthTries 6
    说明

    MaxAuthTries参数默认未启用。该参数用于限制用户在每次SSH登录时,能够连续错误输入密码的次数。超过错误输入次数则会断开SSH连接,并显示相关错误信息。

  3. 修改用户登录控制参数。

    1. 打开SSH配置文件。

      vi /etc/ssh/sshd_config
    2. 根据业务需要,修改密码重试策略。

      如下所示,在策略配置前添加#,取消密码重试策略。

      # MaxAuthTries 6
    3. 按Esc键,输入:wq保存修改。

  4. 执行如下命令,重启SSH服务。

    systemctl restart sshd.service