ec2를 배포하고 설정 중 연결이 끊길 떄가 있습니다.
client_loop: send disconnect: Broken pipe
다시 접속하려고 ssh를 입력하면,
ssh: connect to host {host ip} port 22: Operation timed out
이런 에러가 반겨줍니다..
ec2를 설정하는 과정에서 에러를 만났는데요,,, 여러가지 시도 끝에 찾은 해결 방법을 찾아 정리해보겠습니다.
해결 방법은 생각보다 간단합니다.
우선, ssh 에러인 만큼 해당 포트가 접근을 거부당하는 것입니다.
그러면 의심되는 부분은 딱 두 가지입니다.
aws ec2 내부 보안 그룹을 연결할 당시 22번 포트
가 허용 설정이 되어 있지 않다면 접근 거부되는 것이 당연합니다.
저는 22번 포트
외에도 필요한 포트에 대해 미리 인바운딩 규칙을 추가해두었기 때문에 문제가 없었습니다.
다음으로 의심할 부분은 방화벽
입니다.
설정을 하던 중 MySQL
포트는 설정을 해주었지만, SSH
포트를 설정한 기억이 없었습니다.
이제 해당 포트에 대해서 방화벽 설정을 해주면 됩니다.
하지만!!
이미 접속이 불가한 상태라,,, 방화벽 설정 또한 할 수가 없는 상황이었습니다.
이를 해결하려면, 새로운 인스턴스를 생성하고 이미지를 옮기는 방법을 사용하면 된다고 하더라구요.!
슬프게도,,,, 새로운 인스턴스
와 기존 인스턴스
의 지역이 달라 옮길 수가 없더군요,,,
그래서 찾은 방법이!!
그냥 새로운 인스턴스
를 다시 설정하는 방법을 사용했습니다ㅎㅎㅎ. 가장 속 편하지요!!
ssh 접속 후,
sudo ufw allow 22;
sudo ufw enable;
sudo ufw status;
명령어를 통해 설정을 해주었더니 해결되었습니다!!