使用 PuTTY 连接 EC2 实例,服务器拒绝密钥

问题描述 投票:0回答:3

我启动了一个 EC2 实例,但无法使用 PuTTY 连接到该实例。我使用的是通过 PuTTYgen 创建并导入到 AWS 的密钥对。我已经在连接 -> SSH -> Auth 中指定了客户端的私钥文件。我为 PuTTY 选择了端口 22 上的 SSH。 EC2 实例有一个安全组,该组有一个入站规则,允许来自我家用笔记本电脑 IP 地址的端口 22 上的 TCP。当我尝试连接时仍然没有喜悦。

在 PuTTY 窗口中我看到这个:

Using username "ec2-user".
Server refused our key

还会弹出一个错误对话框,其中包含以下消息:

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

我还应该研究哪些其他事情或采取不同的做法?我以前曾成功实现过这一点,所以我知道它可以工作,但显然我忘记了拼图的一个或多个部分。

amazon-web-services ssh amazon-ec2 putty
3个回答
5
投票

您使用的是哪个 Linux 发行版? ec2-user 仅对 Amazon Linux 有效。如果您使用其他 Linux 发行版,用户是 root 或 ubuntu(对于 Ubuntu Linux)。


3
投票

对于任何未来遇到此问题的搜索者,我发现了另一个问题。我从 AWS 下载了 .pem 密钥并转换为 .ppk 并尝试使用 Putty 进行 ssh,但我会收到“服务器拒绝密钥”。经过一番努力后,我随机将 Putty 更新到最新的可用版本(截至撰写本文时为 0.77),这解决了我的问题。 WinSCP 也有同样的问题。


-1
投票

SSH 服务器 (sshd) 拒绝 SSH 私钥的原因有多种。以下是您可能收到此错误的一些常见原因:

连接到 EC2 实例时,您的 AMI 使用的用户名不正确。常用的用户名是 ec2-user、ubuntu、centos、root 或 admin。

尝试访问实例的用户已从服务器中删除或帐户被锁定。

实例存在权限问题或者您缺少目录。

您在连接到 EC2 实例时使用了不正确的私钥文件。有关更多信息,请参阅连接到 Amazon Elastic Compute Cloud (Amazon EC2) Linux 实例时为什么会收到“imported-openssh-key”或“Putty Fatal Error”错误中的验证私钥是否正确部分?

/etc/ssh/sshd_config 中的 SSH 服务器设置已更改。有关更多信息,请参阅更改实例的 sshd_config 文件后如何使用 SSH 访问我的 EC2 实例?

操作系统无法挂载(/etc/fstab)主目录。有关更多信息,请参阅为什么我的 EC2 Linux 实例无法启动并进入紧急模式? 中的依赖项失败错误部分。

分辨率

连接到 EC2 实例时,您的 AMI 使用的用户名不正确

检查您的命令,正确的命令是“ec2-user”。我也犯了同样的错误,所以一旦我输入正确的命令,我就能够连接。

© www.soinside.com 2019 - 2024. All rights reserved.