如何连接到 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 如何更改实例类型?
使用 SSH 连接到AWS EC2 Linux 实例(Windows可用SSH)