EC2:更改/ var的所有权后,“连接被拒绝”到所有实例

时间:2013-09-24 21:22:00

标签: linux amazon-web-services amazon-ec2

我最近将EC2实例中 / var 目录的所有权从“root”更改为“ec2-user”,一旦我这样做,我就无法SSH回服务器(即使端口22在安全组中打开)。现在,当我尝试连接该实例或任何新实例时,我收到此消息:

Error connecting to ________, reason:
-> Connection refused

当我查看系统日志时,我看到了:

  

启动sshd:/ var / empty / sshd必须由root拥有,而不是group或   世界可写。

     

[FAILED]

关于如何重新进入服务器的任何想法?我尝试创建一个新实例并在那里安装旧卷,但我甚至无法SSH到新实例,因为我得到相同的“连接被拒绝”消息。

2 个答案:

答案 0 :(得分:5)

您应该能够使用新的ebs磁盘和全新的操作系统创建新实例。然后启动它并附加损坏的操作系统磁盘 - 然后您应该能够修改您的文件并修复您的问题。

答案 1 :(得分:0)

重启后,我们也发生了同样的事情。发生这种情况显然是因为(没有更改,没有编辑权限或任何东西)。真是令人讨厌。

要修复它,您需要

-停止实例(除非您拥有与IP关联的弹性IP,否则您将丢失该IP)

-分离根卷

-抓住同一可用区中的另一个实例

-将卷附加到新实例

-启动新实例

-登录到新实例并安装从断开的实例上分离的卷

-转到/ var / empty并修复sshd的所有权和权限(必须为drwx--x--x root:root)

-从新实例注销

-停止

-分离固定体积

-将其重新附加到损坏的实例上(确保您可以使用/ dev / sda1作为根卷附加)

-重新开始愚蠢的事情

-祈祷

如果幸运的话,您现在将可以再次使用ssh。

这已经发生在我们身上大约一年了。我们已经决定将实例移至Digital Ocean,但这可能会帮助其他任何可怜的人。