[AWS] EC2 SSH 접속 에러 — UNPROTECTED PRIVATE KEY FILE 해결 (.pem 권한 chmod 400)

1. 에러 상황

AWS EC2 인스턴스에 SSH로 접속하려 할 때, 아래와 같은 경고와 함께 접속이 거부되는 경우가 있다.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0755 for 'myKey.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "myKey.pem": bad permissions
ubuntu@{my-ip}: Permission denied (publickey).

핵심은 Permissions for 'myKey.pem' are too open 문구다. 즉 .pem 키 파일의 권한이 너무 많이 열려 있어 보안상 위험하다고 판단해 시스템이 접속을 차단한 것이다.

AWS EC2 SSH 접속 에러 UNPROTECTED PRIVATE KEY FILE 경고 메시지 그림 1. SSH 접속 시 발생하는 'UNPROTECTED PRIVATE KEY FILE' 경고

2. 발생 원인

Linux·macOS의 SSH 클라이언트는 보안을 위해 소유자 외에는 누구도 읽을 수 없는 키만 사용하도록 설계돼 있다.

  • 문제의 권한07550644는 나뿐 아니라 다른 유저(그룹·기타 사용자)도 이 키를 읽을 수 있다는 뜻이다.
  • 보안 규칙 — 개인 키(Private Key)가 남에게 노출될 가능성이 있으면 SSH는 그 키를 신뢰하지 않고 접속을 거부한다.

3. 해결 방법: chmod 400

터미널에서 키 파일(.pem)이 있는 디렉토리로 이동한 뒤, 권한을 소유자 전용 읽기(400)로 바꾸면 즉시 해결된다.

# pem 키 파일 권한을 400으로 변경
chmod 400 myKey.pem

참고: 400으로도 안 되면 600을 시도할 수 있지만, AWS 가이드는 보통 400을 권장한다.

💡 리눅스 파일 권한 400의 의미

권한 대상 숫자 상세 의미
소유자 (Owner) 4 읽기(Read) 가능 (수정·실행 불가)
그룹 (Group) 0 모든 권한 없음
기타 (Others) 0 모든 권한 없음

4. 결과 확인

권한 변경 후 다시 접속을 시도한다.

ssh -i "myKey.pem" ubuntu@<Your-EC2-IP>

이제 경고 없이 정상적으로 인스턴스에 접속되는 것을 확인할 수 있다.


📦 이 글은 제가 운영하던 티스토리 블로그에서 옮겨온(migration) 글입니다. 원문: taehyuklee.tistory.com/31

이 글 공유𝕏f

댓글