AWS EC2 인스턴스에 SSH로 접속할 때 발생할 수 있는 문제들을 해결하기 위한 트러블슈팅 가이드를 포스팅 하겠습니다.
로컬 머신에서 .pem
파일(프라이빗 키)의 권한이 적절하게 설정되지 않으면 "Unprotected private key file" 오류가 발생합니다.
예를들어 키를 통한 SSH 접속을 할 때는 다음과 같은 명령을 사용합니다.
# 키가 포함된 디렉토리 경로에서의 명령
ssh -i [키 이름].pem [사용자 이름]@[서버 IP주소]
이 키를 사용하기 위해서는 키에 대해 권한을 부여해야 합니다.
너무 많은 권한이 부여되어 있으면 키 연결 자체를 거부할 수 있기 때문에 최소한의 권한을 부여하는 것이 좋습니다
chmod 400 [키 이름].pem
운영체제에 따라 SSH 접속 시 사용하는 기본 사용자 이름이 다릅니다.
잘못된 사용자 이름을 입력하면 다음과 같은 오류가 발생할 수 있습니다.
OS별로 기본 사용자 이름이 정해져 있습니다. 참고하시길 바랍니다.
ubuntu
Linux: ec2-user
ec2-user
centos
위의 문제는 SSH 요청이 인스턴스에 도달하지 못했음을 의미합니다.
기본적으로 ACL에서 22번 포트가 차단되어 있지 않지만, 보안을 위해 차단하는 경우도 존재합니다.
이것도 보안 그룹과 마찬가지로 22번 트래픽을 허용합니다.
서브넷이 인터넷 게이트웨이(IGW)를 통해 외부와 통신하도록 라우팅이 설정되어 있어야 합니다.
EC2 인스턴스가 퍼블릭 IP 주소를 가지고 있지 않으면 외부에서 접근할 수 없습니다.