【问题标题】:SSH: Connection timed out- Unable to SSH into EC2 instanceSSH:连接超时 - 无法通过 SSH 连接到 EC2 实例
【发布时间】:2020-03-13 13:16:48
【问题描述】:

我已经创建了一个 Amazon EC2 实例,并且之前能够通过 SSH 连接到它。现在,如果我尝试 SSH 进入它,我会收到如下错误:

ssh: connect to host [ip address] port 22: Connection timed out

我没有更改实例和子网分别附加到的安全组和 NACL 中的任何内容。

从该实例的 AMI 创建另一个实例似乎也不起作用。

我尝试通过从该实例分离 EBS 卷并将其安装到新实例以检查 /etc/ssh/sshd_config 来解决问题,但那里没有任何问题。

我还尝试按照解决方案 https://*.com/a/14050894 注释掉 fstab 中的内容

我在大约 3 个实例中面临同样的问题,请帮忙。

下面是ssh -v

的输出
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n  7 Dec 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to ip [ip] port 22.
debug1: connect to address ip port 22: Connection timed out
ssh: connect to host ip port 22: Connection timed out

【问题讨论】:

  • 超时表示没有建立网络连接。三重检查您的安全组配置。您可能从不同的 IP 地址连接。这很少是实例本身的问题。
  • 我已经允许所有来源的所有流量,仍然没有运气。
  • 我建议在同一子网中启动一个新的 Amazon Linux 实例并尝试连接。这样,您将测试连接而不是实例。通过ssh -i key.pem ec2-user@IP-ADDRESS连接
  • 我确实有 2 个其他实例在同一个子网中运行,我能够正确地通过 SSH 连接到它们。
  • 如果那些其他实例具有相同的安全组,那么这些实例给出超时是很奇怪的,因为它们将具有相同的网络访问权限。

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


【解决方案1】:

经过一番努力,我解决了这个问题,方法是将无法通过 SSH 连接的实例的卷与使用相同密钥创建的另一个 EC2 实例一起安装,然后将附加卷中的 .ssh/authorized_keys 文件替换为 @ 987654322@ 在新创建的实例中。最后,将此卷重新附加到原始实例。 两个authorized_keys 文件之间没有任何区别,所以我不能说为什么替换文件有效。 使用新密钥使用有问题实例的 AMI 创建一个新实例应该是可行的,但由于某种原因尚未被识别。

【讨论】: