AWS EC2 实例 - ssh "Connection timed out"可疑的 iptables



我是防火墙新手。我今天早些时候在ec2实例上玩iptables,但现在我无法通过ssh连接-"连接超时"。控制台显示实例正在运行,ssh密钥正常,ping成功。所以我的结论是,我可能在使用iptables时禁用了ssh端口连接。

有没有一种方法可以撤销更改而不需要完全重新安装?

注意:我没有访问shell,因为我不能ssh

从AWS控制台进行简单的重新启动就可以了。希望您没有在实例中启用iptables服务,以便它在启动时启动。

如果您启用了iptables服务,您将不得不创建另一个实例instance B(希望您使用的是EBS实例)。同样假设您的原始实例是instance A:

  1. instance A上卸载根EBS卷
  2. 将EBS卷挂载到instance B,例如/dev/xvdf
  3. instance B运行mkdir -p /mnt/xvdf; mount /dev/xvdf /mnt/xvdf
  4. instance B上修复安装在/mnt/xvdf上的卷
  5. instance B: umount /mnt/xvdf卸载卷
  6. 将卷作为根挂载回instance A
  7. 重启instance A
如果您使用的是instance-store类型的实例,那么您就不走运了。

如果您确实设置了防火墙设置,您可以试试:

停止实例。启动另一个实例,并将原实例中的卷附加到新实例。挂载卷,修复挂载卷中的iptables。然后将卷分离并重新连接到原始实例(例如作为/dev/sda1),并重新启动原始实例。

或者您之前从一个实例中创建了一个AMI,然后使用新密钥从AMI启动了一个新实例,但是新密钥不能工作?当您使用putty登录时,请尝试在原始实例中嵌入的密钥,旧的密钥可能仍然有效。

最新更新