이 글은 윈도우10에서 BASH, WSL, 파워쉘을 통해 SSH 접속시 PEM 파일 퍼미션 에러가 날때 해결 방법에 대해서 다루고 있습니다. 윈도우10에서 OpenSSH 클라이언트를 설치하면 명령프롬프트나 윈도우 파워쉘 PowerShell 에서 SSH 접속을 할 수 있습니다. 접속은 아래와 같은 방법으로 할 수 있습니다.
ssh -i 키파일 계정@서버
그런데, 아래와 같은 에러 메세지가 나오는 경우가 있는데요.
WARNING: UNPROTECTED PRIVATE KEY FILE!<br>Permissions for '파일이름.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 "파일이름.pem" : bad permissions 계정@서버 Permission denied (publickey).
이러한 에러메세지는 파일의 퍼미션 (권한) 설정 때문인데요. 윈도우10에서는 chmod와 같은 명령어는 지원하지 않으므로 아래와 같은 방법으로 설정할 수 있습니다.
TABLE OF CONTENTS
PEM 파일 퍼미션 에러 해결 방법
- PEM파일을 탐색기에서 선택하여 오른쪽 버튼을 클릭하면 텍스트 메뉴를 볼 수 있습니다. [ 속성 ] 을 클릭합니다.
- 파일 속성창이 뜨는데요. 여기서 [ 보안 ] 탭을 클릭합니다. 사용자이름에 현재 설정된 모든 사용자 리스트가 나오는데요. 아래 [ 고급 ] 을 선택합니다.
- 고급 보안 설정 창이 뜹니다. [ 상속 사용 안함 ] 을 클릭합니다.
- [ 이 개체에서 상속된 사용 권한을 모두 제거합니다. ]를 클릭합니다.
- 할당된 모든 사용자들이 삭제되었습니다. 다시 [ 추가 ] 버튼을 클릭합니다.
- [ 보안 주체 선택 ] 을 클릭합니다.
- 선택할 개체 이름을 입력하십시오. 의 아래 빈칸에 자신의 윈도우 계정이름을 적습니다. 만약 마이크로소프트 계정으로 연동하고 있다면 계정으로 사용하고 있는 메일 주소를 입력합니다.
- 기본 권한에 [ 읽기 및 실행 ] [ 읽기 ] 두 군데만 체크를 한 후에 확인합니다.
- 파일에 자신의 계정이 추가된 상태로 [ 확인 ] 을 클릭하면 준비가 다 되었습니다.
처음과 똑같이 접속을 시도해 보면 정상적으로 접속이 되는 것을 알 수 있습니다.
오늘은 윈도우10 SSH 접속할 때 PEM 파일 퍼미션 에러시 해결방법에 대해서 정리해봤습니다. 지금까지, 안테나곰이였습니다.
잘 동작하네요!! linux 에서는 chmod 400 하면 되었던건데, 윈도우에서는 이렇게 할 수 있다는것을 처음 알았습니다.
덕분에 빠르게 해결되었습니다 🙂
도움이 되셨다니 다행이네요 덧글 감사합니다. 🙂