如何连接到 AWS 中的 EC2 实例?

Posted

技术标签:

【中文标题】如何连接到 AWS 中的 EC2 实例?【英文标题】:How do I connect to EC2 instance in AWS? 【发布时间】:2020-07-31 05:18:37 【问题描述】:

我正在尝试使用密钥连接到 EC2 实例。但我收到一个错误提示

No supported authentication methods available (the server sent: public key")

在命令窗口中我得到:

Using username "ec2-user"

Server refused our key

。请帮帮我

【问题讨论】:

帮助在这里:docs.aws.amazon.com/AWSEC2/latest/UserGuide/… Server refused our key 表示您提供的密钥对与服务器上安装的密钥对不匹配。例如,如果您使用ssh -i keypair.pem ec2-user@IP-ADDRESS 连接,则keypair.pem 必须与实例上安装的密钥对匹配(例如,它在实例启动时被选中)。 【参考方案1】:

我会尽力帮忙的!假设您尝试使用本地计算机上的 PuTTY SSH 客户端进行连接。 (与 WinSCP 之类的 FTP 客户端连接非常相似)。

简答:您需要让 PuTTY 知道您的 ec2user IP 地址,并将 EC2 实例的私钥与 PuTTY 会话相关联。在 AWS 端,您需要创建一个安全组,允许从您的 IP 地址入站访问您的 EC2 实例,以便在端口 22 上进行 SSH。

__

长答案?:

    转到您的 EC2 页面并单击 [CONNECT] []1

    将 ec2User IP 地址复制到 PuTTY。

    当您创建 EC2 实例时,系统会提示您下载公钥/私钥对。你需要那个私钥。如果你没有那个文件,事情就更复杂了。 (见Change key pair for ec2 instance)。 但希望您能在本地机器上找到下载的私有 PuTTY 私钥文件:

    保存会话。 PuTTY 现在应该全部设置好了。

    现在在 AWS 端,您需要创建一个新的安全组:


    创建组并添加入站规则:

    返回 EC2 并将安全组添加到 EC2。

    在弹出的对话框中,勾选刚才为 PuTTY 远程访问创建的安全组,点击【Assign Security Groups】

现在试一试!

我希望这对你有用,就像对我一样。

最后一个提示:确保将弹性 IP 地址与实例相关联。否则,当您重新启动 EC2 时,此连接可能会停止工作。弹性 IP 将其固定下来。

【讨论】:

太棒了!谢谢你让我知道。也许您会考虑将其标记为解决方案?谢谢。【参考方案2】:

验证您是否使用适合您的 AMI 的用户名进行连接。在 PuTTY 配置窗口的用户名中键入用户名。

相应的用户名如下:

对于 Amazon Linux 2 或 Amazon Linux AMI,用户名为 ec2-user。

对于 CentOS AMI,用户名为 centos。

对于 Debian AMI,用户名为 admin 或 root。

对于 Fedora AMI,用户名为 ec2-user 或 fedora。

对于 RHEL AMI,用户名为 ec2-user 或 root。

对于 SUSE AMI,用户名为 ec2-user 或 root。

对于 Ubuntu AMI,用户名为 ubuntu。

否则,如果 ec2-user 和 root 不起作用,请与 AMI 提供商联系。

您还应该验证您的私钥 (.pem) 文件是否已正确转换为 PuTTY (.ppk) 可识别的格式。

【讨论】:

我在这个实例中创建了解析服务器,但我不确定要使用的用户名,但我尝试了一切,ec-2user、root、ubuntu 等。

以上是关于如何连接到 AWS 中的 EC2 实例?的主要内容,如果未能解决你的问题,请参考以下文章

如何将aws上的ec2实例连接到我公司的***

当实例连接到自动扩展组时,AWS EC2 如何更改实例类型?

通过 *** 从 AWS 连接到第三方

使用 SSH 连接到AWS EC2 Linux 实例(Windows可用SSH)

从 AWS Beanstalk 应用程序连接到 AWS EC2

从Web连接到EC2实例