【问题标题】:Debug ec2 instance startup调试ec2实例启动
【发布时间】:2024-04-13 02:15:07
【问题描述】:

我创建了一个 ec2 实例用作 Web 服务器。 SSH 后,我使用 taskkel 安装了 LAMP。

断开连接并尝试重新连接后,我收到“连接被拒绝”。 在做了一些研究之后,似乎安装 LAMP 已经使 SSH 守护进程无法启动。

所有建议都说要分离卷并将其附加到另一个实例以纠正问题。 这一切都很好,但我不知道如何找到问题所在。我所做的研究表明,某些命令的一些输出表明是什么问题阻止了 SSH 守护程序启动。

那么,我如何找到问题以便解决它?

【问题讨论】:

    标签: ssh amazon-ec2


    【解决方案1】:

    如果您将 EBS 附加到其他实例,那么您应该能够查看日志文件 (/mnt/wherever/var/log/messages) 或系统启动时存储它们的任何位置。

    另一种方法是使用 chroot 命令从您安装此 EBS 的目录中启动 shell。从那里你可以尝试运行所有应该在启动序列期间运行的命令......并找出你的 sshd 失败的原因......或者远程系统是否以某种方式弄乱了网络或密钥,这样它阻止了您的访问。

    【讨论】:

    • 顺便说一句,也可以使用 API 获取实例的控制台输出(为此我使用 Python boto 类库)。这可能有助于调试一些实例启动问题......如果它们在系统控制台上留下任何提示(大多数初始化进程的标准输出)。