EC2实例突然拒绝SSH连接

22

几天前我设置了EC2实例,昨晚我甚至可以轻松通过SSH连接到它。但是今天早上,我无法通过SSH连接到它。安全组中已经打开了22端口,并且自昨晚以来我没有更改过任何内容。

错误:

ssh: connect to host [ip address] port 22: Connection refused

最近我遇到了类似的问题,但是我不知道为什么会出现这种情况,所以我不得不创建一个新实例,重新设置它,并将所有 EBS 存储连接和配置到新实例上。花了我几个小时... 现在又再次发生了。在之前的那个实例中,我安装了 denyhost,可能阻止了我的访问,但在当前的实例中,只运行了 apache2 和 mysql。

目前的实例已经运行了16小时,所以我不认为它是因为没有完成引导而出现的...同时,端口22对所有来源(0.0.0.0/0)开放,使用tcp协议。

有什么想法吗?

谢谢。


您是否已经设置了实例上的SSH安全性,以允许所有IP或仅限您自己的IP?如果只有您自己的IP,请问您的IP地址是否发生了更改? - Kirk
@Kirk:源地址为0.0.0.0/0,包括22端口。协议:tcp。 - Sherzod
你是否已经从实例创建了AMI?如果是,可以从中运行新的实例。 - Roman Newaza
如果您在配置文件中做错了什么,现在无法进入系统,EC2的系统日志将不会显示任何信息。如果只是要从配置文件中注释掉某些内容(这在我之前发生过,当时我正在更改我的ssh,结果无法再登录),您可以通过具有对“/”访问权限的ftp连接(我使用vsftpd和Adobe DW)并转到/ etc / ssh / ssh_config或其他您可能想要注释掉已完成的事情的地方,并从EC2仪表板重新启动系统。如果涉及到配置文件,则可能需要FTP访问。 - Maziyar
1
@kirk 非常感谢!我的IP地址已更改,而且我已将安全组设置为仅接受来自单个IP的访问。由于此原因,我失去了4个框的SSH访问权限!现在问题解决了:)。 - CodeManiak
11个回答

0
如果你的 Ubuntu 使用了 systemd,你可以编辑 /lib/systemd/system/local-fs.target 文件,并注释掉最后两行:
#OnFailure=emergency.target
#OnFailureJobMode=replace-irreversibly

我没有进行过全面测试,也不知道是否存在任何风险或副作用,但到目前为止它的工作非常好。它会挂载根卷和所有其他卷(除了那些明显配置错误的卷),然后继续引导过程,直到SSH启动,这样您就可以连接到实例并修复不正确的fstab条目。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接