aws ec2 인스턴스에 ssh를 이용해서 접속할 때 발생한 에러입니다.
에러 메시지
us-east-2.compute.amazonaws.com permission denied (publickey)
key pair 파일의 권한이 0600이어야 합니다. (소유자 권한에서 read,write만 남겨놓고 나머지 권한은 다 없애야합니다.) 그러지 않으면 "permissions are too open"이라는 에러가 발생합니다. 그래서 key pair 파일의 권한을 수정해야 했습니다.
첫번째 문제는 wsl에서 윈도우 파일에 대한 chmod가 작동하지 않았습니다.
wsl에서 우분투를 키면 mnt/c/ 아래에 윈도우 디렉토리들이 있습니다. 윈도우에선 chmod명령이 없기 때문에 wsl에서 우분투를 켜서 바꾸려고 했습니다. 하지만 우분투에서 mnt/c에 있는 윈도우 파일의 권한을 바꾸는 것은 제대로 동작하지 않았습니다.
두가지 해결책이 있습니다.
우분투 홈 디렉토리에 파일을 옮겨서 chmod하기.
아래 명령 실행
이렇게 하면 윈도우 파일에 대한 권한 수정도 되긴 합니다. 그런데 약간의 사소한 에러는 있습니다.
참고 : Chmod/Chown WSL Improvements
sudo umount /mnt/c
sudo mount -t drvfs C: /mnt/c -o metadata
에러를 수정하는데 급급하다 보니 두 가지 방법 모두 사용했습니다.
ssh -i [키 페어 이름.pem][public DNS]로 접속하니 접속이 되지 않았습니다. 문제는 명령 형식을 잘못 보고 [username]을 안 써줘서 였습니다.
올바른 명령 : ssh -i [키 페어 이름.pem][username]@[public DNS]
로그인에 성공했습니다.
ssh 세션을 끝내려면 exit 또는 logout을 타이핑하거나 [ctrl]+[D]를 누릅니다.