더 이상 SSH를 통해 AWS EC2 인스턴스에 연결할 수 없습니다.

더 이상 SSH를 통해 AWS EC2 인스턴스에 연결할 수 없습니다.

Amazon Linux 2를 실행하는 AWS EC2 인스턴스가 있습니다. 며칠 전까지만 해도 인스턴스가 정상적으로 실행되었습니다.

그런 다음 Ansible 플레이북을 사용하여 새 버전의 소프트웨어를 설치합니다. 우리는 이전에 아무런 문제 없이 동일한 스크립트를 여러 번 사용해 왔습니다. 그러나 이번에는 플레이북에 성공적인 실행이 표시된 후에는 더 이상 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를 통해 연결할 수 없습니다.

연결할 수 없는 인스턴스와 동일한 VPC 및 서브넷에 있는 다른 인스턴스에 SSH를 통해 연결할 수 있으므로 이는 보안 그룹 문제가 아닙니다. 두 인스턴스 모두 정확히 동일한 보안 그룹을 갖습니다.

난 다른 걸 찾았어답변손상된 파일로 인해 문제가 /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, Session Manager 및 EC2 직렬 콘솔 방법은 우리 인스턴스에서 작동하지 않습니다.

또한 누군가가 원격으로 로그인을 시도해 보라고 제안했지만 그 역시 작동하지 않았다는 게시물을 보았습니다.

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

제가 할 수 있는 유일한 일은 SSH를 통해 연결할 수 있는 다른 EC2 인스턴스에 EBS 볼륨을 마운트하는 것이었습니다. 이 인스턴스에 SSH로 연결할 수 없는 이유를 이해하기 위해 또 무엇을 확인할 수 있습니까?

관련 정보