在使用 SSH 连接到 Amazon EC2 Linux 实例时,我收到如下错误消息之一:

Using username "root".

Authentication with public key "imported-openssh-key"

Please login as the user "ec2-user" rather than the user "root".

或者

Using username "ec2-user".

Server refused our key

或者,当我使用 PuTTY 客户端时收到如下错误消息:

PuTTY Fatal Error:

Disconnected: No supported authentication methods available (server sent: publickey)

OK

在以下情况下,可能会出现此错误:

  • 当您与 EC2 实例协商 SSH 会话时,未针对 AMI 使用适当的用户名进行连接。
  • 当您与 EC2 实例协商 SSH 会话时,使用了错误的私有密钥。

要解决此问题,请按照以下步骤操作:

如果连接时使用了适当的用户名,请按照以下步骤验证是否使用了正确的私有密钥:

  1. 登录您的 AWS 账户,然后打开 Amazon EC2 控制台
  2. 在导航窗格中,选择 Instances (实例)。
  3. 查找要通过 SSH 连接的 EC2 实例。
  4. 密钥名称列中,验证您在通过 SSH 进行连接时使用的私有密钥名称。

如果您正在使用 PuTTY:

  • 验证 SSH 私有密钥是否与控制台中 EC2 实例的密钥名称列中显示的私有密钥相符。
  • 验证私有密钥 (.pem) 文件是否已转化为可被 PuTTY 识别的格式 (.ppk)。有关更多信息,请参阅使用 PuTTYgen 转换您的私有密钥

如果您正在使用 OS X 或 Linux:

  • 请检查您在 -i 标志后指定的目录和文件名,确保其为正确的私有密钥路径。私有密钥应该与控制台中 EC2 实例的密钥名称列中显示的密钥相符。

有关排查连接问题的更多信息,请参阅排查实例的连接问题创建 AWS Support 案例


此页面对您有帮助吗? |

返回 AWS Support 知识中心

需要帮助? 请访问 AWS 支持中心

发布时间:2016 年 5 月 24 日

更新时间:2018 年 4 月 10 日