无法再通过 SSH 连接到 AWS EC2 实例

无法再通过 SSH 连接到 AWS EC2 实例

我们有一个运行 Amazon Linux 2 的 AWS EC2 实例。该实例直到几天前都运行良好。

然后我们使用 Ansible playbook 安装新版本的软件。我们之前多次使用过同样的剧本,没有任何问题。但这一次,在剧本显示成功执行后,我们无法再通过 SSH 连接到实例。 SSH 输出以下内容:

$ ssh -vvv -i .ssh/ourkey.pem [email protected]
OpenSSH_7.2p2 Ubuntu-4ubuntu2.8, OpenSSL 1.0.2g  1 Mar 2016
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: resolving "10.130.35.176" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to 10.130.35.176 [10.130.35.176] port 22.
debug1: connect to address 10.130.35.176 port 22: Connection refused
ssh: connect to host 10.130.35.176 port 22: Connection refused

从 AWS 控制台,我们尝试停止 EC2 实例并重新启动它,但我们仍然无法通过 SSH 连接到它。

这不是安全组问题,因为我可以通过 SSH 连接到与无法访问的实例位于同一 VPC 和子网中的另一个实例。这两个实例具有完全相同的安全组。

我找到了另一个回答说问题可能是由损坏的/etc/ssh/sshd_config文件引起的。我从无法访问的实例中分离了 EBS 卷,并将其附加到我可以通过 SSH 访问的另一个实例。然后,我将该卷上的 /etc/ssh/sshd_config 文件与我能够通过 SSH 访问的实例的 /etc/ssh/sshd_config 文件进行比较,发现它们完全相同。

我还查看了/etc/fstab卷上的内容,因为我看到其他帖子说这可能是罪魁祸首,但看起来还不错:

#
UUID=ec9a77e7-7b7b-4421-a91c-9142206a844a     /           xfs    defaults,noatime  1   1

我还查找了 sshd 日志,我唯一能找到的日志位于 /var/log/secure 中:

Dec  4 19:21:33 ip-10-130-35-176 sshd[3265]: Received signal 15; terminating.
Dec  4 20:10:23 ip-10-130-35-176 sshd[3280]: Server listening on 0.0.0.0 port 22.
Dec  4 20:10:23 ip-10-130-35-176 sshd[3280]: Server listening on :: port 22.

在 AWS 控制台的 EC2 实例上,在操作 > 监控和故障排除 > 获取系统日志下,有一行表示 SSH 守护程序已启动:

Started OpenSSH server daemon.

它还显示登录提示,因此该实例似乎已启动并正在运行:

Amazon Linux 2
Kernel 5.10.96-90.460.amzn2.x86_64 on an x86_64

ip-10-130-35-176 login: 

我无法做的一件事是使用 AWS 控制台连接到实例。 EC2 Instance Connect、会话管理器和 EC2 串行控制台方法不适用于我们的实例。

我还看到一个帖子,其中有人建议尝试远程登录它,但这也不起作用:

$ telnet 10.130.35.176 22
Trying 10.130.35.176...
telnet: Unable to connect to remote host: Connection refused

我唯一能做的就是将 EBS 卷挂载到另一个可以通过 SSH 连接的 EC2 实例上。我还可以查看什么来了解为什么我无法通过 SSH 连接到此实例?

相关内容