连接 Amazon Elastic Compute Cloud (Amazon EC2) Linux 实例时,为什么我会收到 "imported-openssh-key" 或 "Putty Fatal Error" 错误?
上次更新日期:2020 年 10 月 6 日
连接 Amazon Elastic Compute Cloud (Amazon EC2) Linux 实例时,我收到 "imported-openssh-key" 或 "Putty Fatal Error" 错误。该如何处理这些错误?
简短描述
使用 SSH 连接 Linux 实例时,我收到类似于以下内容的错误:
“使用用户名 "root"。使用公钥 "imported-openssh-key" 进行身份验证,请以用户 "ec2-user" 而不是用户 "root" 的身份登录。”
-或者-
使用 PuTTY 客户端时,我收到类似于以下内容的错误:
“PuTTY 致命错误:连接已断开:没有受支持的身份验证方法可用(服务器发送:公钥)确定
以下情况可能会发生这些错误:
- 在与 EC2 实例协商 SSH 会话时,您没有使用适用于 AMI 的适当用户名进行连接。
- 在与 EC2 实例协商 SSH 会话时,您使用了错误的私钥。
解决方法
验证是否使用正确的用户名进行连接
在本地计算机上,验证是否使用适当的用户名进行连接。有关适当用户名的完整列表,请参阅错误:未找到主机密钥、权限被拒绝(公钥)或身份验证失败、权限被拒绝。
验证私钥是否正确
1. 打开 Amazon EC2 控制台,然后选择实例。
2. 查找要使用 SSH 连接的 EC2 实例。
3. 在密钥名称列中,验证您通过 SSH 连接时使用的私钥的名称:
PuTTY
验证 SSH 私钥是否与您在控制台中 EC2 实例的密钥名称列中看到的私钥相同。
验证是否已将私钥 (.pem) 文件转换为 PuTTY 可识别的格式 (.ppk)。有关详细信息,请参阅 使用 PuTTYgen 转换私钥。
macOS 或 Linux
通过运行以下命令,确保已更改密钥对文件的权限,以便只有您才能来查看它:
$ chmod 400 my-key-pair.pem
检查在 -i 标志后指定的目录和文件名,确保它是指向私钥的正确路径,如以下示例命令所示:
$ ssh -i my-key-pair.pem ec2-user@52.4.XX.XX