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

当我们从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 ./ 

能够解决这个问题。 这是由于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文件中删除垃圾条目。

这些改变后,机器重新启动后工作正常。

还要在/etc/ssh/sshd_config注释以下行

 permitrootlogin without-password permitrootlogin without-passwordUseDNS no