为什么我不能装入新的EC2实例?


22

我创建了一个新实例(来自Amazon的微型64位AMI linux),并创建了一个名为“ mir”的新密钥对。我下载mir.pem并将其放在我的~/.ssh文件夹中。我什至做到了ssh-add mir.pem

然后我试图 ssh ubuntu@public_DNS_from_amazon

为什么不起作用!?


3
ssh -v怎么说?
user9517支持GoFundMonica 2011年

2
另外,您可以做telnet public_DNS_from_amazon 22吗?这将排除防火墙。
Andrew M.

1
我会避免使用telnet并使用nmap检查打开的端口:nmap -PN public_DNS_from_amazon -p 22。(-PN以防防火墙阻止ping请求)
Lekensteyn 2011年

2
@Lekensteyn,在这种情况下,绝对没有理由避免使用telnet客户端,它非常适合检查ssh端口的工作,因为在大多数情况下,您将获得明文信息。Nmap比telnet很少安装。
Shadok

serverfault.com/questions/245916/…的可能重复项对我有用的答案是,默认安装防火墙已根据此答案完全锁定serverfault.com/a/245917/108387
Richard Le Mesurier 2012年

Answers:


17

尝试使用ssh ubuntu@your.host.name -i your-private.key,而不是ssh-add输入密钥。

哦,请确保您通过安全组允许TCP端口22。


将端口22添加到安全组的提示可以解决问题。我已经在用ssh -i private_key
kisanme

7

安全组(防火墙配置)是否允许SSH访问?

更具体地说-在AWS管理控制台页面上,在左侧面板中(朝底部)选择“安全组”。在右下方面板中,选择“入站”选项卡,并确保选择了“自定义TCP规则”。输入22作为端口号,单击“添加规则”按钮,然后单击“应用规则更改”按钮。无需重新启动或重新启动实例,只需启用TCP端口22入站


这个答案对我有用。另外,由于我的实例运行Ubuntu,所以用ubuntu替换了“ root”。这是我从终端连接的线路:ssh -i ec2vpnkey.pem ubuntu@exxxxxxxxxx.compute-1.amazonaws.com

这应该是公认的答案。这里的关键信息是“源”字段不足以拥有安全组本身。来源必须为0.0.0.0/0
roothahn

3

尝试使用root或ec2-user作为用户名。


0

您需要使用ec2-authorize default -p 22命令打开对实例的ssh访问。你做完了吗?


0

我的某些EC2机器上发生了这种情况。通常,如果某个进程占用了所有处理器或性能异常,并且断开了连接,则在尝试重新连接时SSH可能无法启动。通过AWS控制台重新启动该框通常会有所帮助。


0

也可以在不将实例与密钥对关联的情况下启动实例。您可能会再次检查启动实例时是否使用了预期的密钥对。如果实例使用错误的密钥对启动,则需要重新启动实例。


0

尝试

ssh -i ~/.ssh/mir.pem ec2-user@xxx.xxx.xxx.xxx

x是您的公共IP


0

要登录到AMI框,请使用ec2-user。这意味着您将使用以下内容登录:ssh -i mir.pem ec2-user@public_dns登录。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.