7

我有一个 EC2 实例,我在上面托管了几个站点,而且它以前运行得非常好。

今天我尝试通过 SSH 连接它,它只是拒绝端口 22 上的连接,即使安全组已打开它并且安全组已设置为实例。

任何人都可以帮助我了解为什么会出现这种情况?

我每次都得到这条线 - ssh:连接到主机 54.247.99.86 端口 22:连接被拒绝

4

2 回答 2

2

如果您的实例是基于 EBS 而不是实例存储,则首先将 ami 映像作为备份,然后停止实例,启动新的原始实例。

由于您的旧实例是基于 EBS 的,因此分离卷并将其附加到新实例。将其挂载到某个目录后,更改权限 /var/empty/sshd,同时执行 cat /etc/fstab 以了解 / 分区挂载在哪里。现在将卷从新实例附加到旧实例中,并使用您在 fstab 中的确切挂载点(例如 /dev/sda1 for /)卸载卷。

连接后,启动旧实例并检查您是否能够登录。

于 2012-09-16T18:33:34.253 回答
1

要解决此问题,您可以按照以下步骤进行操作:

  1. 在同一区域启动一个新实例(以便我们稍后将 EBS 卷附加到它)。
  2. 停止当前实例并分离 EBS 卷
  3. 将该卷附加到位于 /dev/sdf 的新实例。
  4. SSH 进入新实例并运行以下命令:sudo mount /dev/sdf /mnt
  5. 运行这个命令:cat /mnt/etc/rc.d/rc.local

如果输出包含这些行,请将其从 rc.local 文件中删除:

    cat <<EOL >> /etc/ssh/sshd_config
    UseDNS no
    PermitRootLogin without-password
    EOL
  1. 修改 rc.local 文件后,您可以卸载 EBS 卷,将其与临时实例分离,然后将其附加回位于 /dev/sda1 的原始实例。您应该能够通过 SSH 连接到您的实例。

这似乎是一个临时修复。如果您重新启动,这将再次发生。我也在寻找永久修复。

于 2014-05-08T20:50:17.947 回答