AMI启动的EC2实例在启动/停止或重启后无法访问(ssh)

6

当我们从AMI启动实例时,首先该实例是可访问的(ssh)。一旦我们停止/启动实例或重新启动它,该机器通过ssh变得无法访问,尽管我们可以ping到它。我们在系统日志中看到以下错误。

AMI ID used - ami-72dc9220
Instance - i-0896a15f - 

Linux rhel6.4 M1.large instance.
../

******************* BLKFRONT for device/vbd/2049 **********
backend at /local/domain/0/backend/vbd/236/2049
Failed to read /local/domain/0/backend/vbd/236/2049/feature-barrier.
Failed to read /local/domain/0/backend/vbd/236/2049/feature-flush-cache.
14680064 sectors of 512 bytes
**************************
Thread "kbdfront": pointer: 0x21e0130010, stack: 0x3720000
FBFRONT for device/vfb/0 **********
KBDFRONT for device/vkbd/0 **********
Failed to read device/vfb/0/backend-id.
Failed to read device/vkbd/0/backend-id.
Error ENOENT when reading the backend path device/vkbd/0/backend
Thread "kbdfront" exited.
Error ENOENT when reading the backend path device/vfb/0/backend

./

你检查了实例的新公共IP/DNS吗? - Guy
是的,我做了。这是重新启动后随机分配的IP地址“ec2-54-251-X-Y.ap-southeast-1.compute.amazonaws.com”。我们没有使用弹性IP。我可以ping公共IP,系统日志中有以上错误。 - Ashwani Kumar
我不明白为什么这个被踩了。我也遇到过这个奇怪但非常严重的问题。正如用户所评论的那样,这似乎是一个错误。 - M-D
2个回答

8
我已经解决了这个问题。这是由于REDHAT为6.4 RHEL实例的一个错误。启动AMI后,连接到机器并切换到root用户,对/etc/rc.d/rc.local文件进行以下更改...
删除以下三行内容并保存文件:
cat <<EOL >> /etc/ssh/sshd_config 
UseDNS no 
PermitRootLogin without-password
../

同时,您还应从/etc/ssh/sshd_config文件中删除垃圾条目。

进行这些更改后重新启动计算机即可正常运行。


1

同时在/etc/ssh/sshd_config文件中,注释掉以下行:

permitrootlogin without-password
permitrootlogin without-passwordUseDNS no

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