即使以前工作,EC2 SSH端口22连接也被拒绝

时间:2012-09-16 13:56:14

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

我有一个EC2实例,我已经托管了几个网站,之前它的工作非常好。

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

有人帮我解释为什么会出现这种情况?

我每次只获得此行 - ssh:connect to host 54.247.99.86 port 22:Connection refused

2 个答案:

答案 0 :(得分:1)

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

由于您的旧实例是基于EBS的,请分离卷并将其附加到新实例。一旦将其挂载到某个目录,更改权限/ var / empty / sshd,也可以执行cat / etc / fstab以了解您的/ partition挂载的位置。现在将新实例附加到旧实例的卷卸载到具有fstab时的确切安装点,例如/ dev / sda1中的/。

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

答案 1 :(得分:0)

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

  1. 在同一区域启动新实例(以便我们稍后可以将EBS卷附加到其中)。
  2. 停止当前实例并分离EBS卷
  3. 将该卷附加到/ dev / sdf上的新实例。
  4. SSH进入新实例并运行以下命令:sudo mount / dev / sdf / mnt
  5. 运行此命令:cat /mnt/etc/rc.d/rc.local
  6. 如果输出包含这些行,请将其从rc.local文件中删除:

        cat <<EOL >> /etc/ssh/sshd_config
        UseDNS no
        PermitRootLogin without-password
        EOL
    
    1. 修改rc.local文件后,可以卸载EBS卷,将其与临时实例分离,并将其附加回/ dev / sda1上的原始实例。您应该可以通过SSH连接到您的实例。
    2. 这似乎是一个临时修复。如果重新启动,这将再次发生。我也在寻找永久性修复。