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

时间:2020-04-17 16:19:46

标签: amazon-web-services amazon-ec2 ssh

我正在尝试使用密钥连接到EC2实例。但我说

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

在命令窗口中,我得到:

Using username "ec2-user"

Server refused our key

。请帮助我

2 个答案:

答案 0 :(得分:1)

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

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

__

详细答案?:

  1. 转到您的EC2页面,然后单击[连接] [enter image description here] 1

  1. 将ec2User IP地址复制到PuTTY。 enter image description here

  1. 创建EC2实例时,系统提示您下载公钥/私钥对。您需要该私钥。如果您没有该文件,则情况会更加复杂。 (请参见Change key pair for ec2 instance)。 但希望您可以在本地计算机上找到下载的PuTTY私钥私钥文件: enter image description here

  1. 保存会话。腻子应该已经全部设置好了。

  2. 现在在AWS端,您需要创建一个新的安全组: enter image description here


  1. 创建组并添加入站规则: enter image description here

  1. 返回EC2并将安全组添加到EC2。 enter image description here

  1. 在弹出的对话框中,检查刚刚为PuTTY远程访问创建的安全组,然后单击[分配安全组]

现在尝试一下!

我希望这对您有效,就像对我一样。

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

答案 1 :(得分:0)

验证您正在使用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)可以识别的格式。