개발/뭔지모르면여기
Windows에서 AWS EC2 접속 시 UNPROTECTED PRIVATE KEY FILE 에러 해결하기
애쿠
2024. 1. 20. 11:53

매번 SSM으로 접속하다가 SSH 키를 발급받아서 EC2에 접속할 일이 생겼다.
별 생각 없이 키를 발급 받고 접속을 시도 했는데 아래와 같은 에러가 발생했다.
$ ssh -i key.pem ec2-user@ec2-[your-ip].[your-region].compute.amazonaws.com
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0555 for 'key.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 "key.pem": bad permissions
접속이 안됨..
일단 에러메시지를 보면 0555 권한은 너무 오픈이라 안된다는 것 같다.
Windows 환경에서 당장 권한을 바꿀 수 없을 것 같아서, WSL로 들어가서 아래와 같은 명령어를 입력했다.
$ chmod 400 key.pem
그러나 같은 오류를 발생시키면서 여전히 접속이 안됐다.
조금 찾아보니 파일의 위치가 Windows 파일 시스템에 있다면 Linux의 권한 변경이 정상적으로 적용되지 않을 수 있다고 한다.
WSL(Windows Subsystem for Linux)을 사용하고 있고, SSH 키 파일이 Windows 파일 시스템(예: /mnt/c)에 위치한 경우, Linux 파일 권한이 올바르게 적용되지 않을 수 있습니다. WSL은 Windows의 파일 시스템에서 Linux 파일 권한을 완전히 지원하지 않기 때문입니다.
파일 위치를 Linux 파일 시스템으로 옮긴 후, 권한을 변경하고 접속하니 정상적으로 동작했다.
$ mv key.pem ~/
$ chmod 400 key.pem
$ ssh -i key.pem ec2-user@ec2-[your-ip].[your-region].compute.amazonaws.com
, #_
~\_ ####_ Amazon Linux 2023
~~ \_#####\
~~ \###|
~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023
~~ V~' '->
~~~ /
~~._. _/
_/ _/
_/m/'
Last login: Sat Jan 20 02:40:11 2024 from 61.80.22.48
Windows 환경에서도 보안 탭에서 사용자에게만 권한을 주면 된다고하는데 난 안됐음.