이 가이드는 SSH접속 시 발생하는 Permission Denied (publickey) 퍼미션 에러 해결 방법에 대해서 정리합니다.
TABLE OF CONTENTS
Permission Denied (publickey) Error 이유
ssh 접속시 아래와 같이 에러메세지가 발생하는 경우는 해당 ssh key파일에 대한 권한이 너무 public으로 열려있는 경우 발생합니다. 리눅스나 맥과는 달리 윈도우의 경우 대부분 파일에 대한 권한 설정할 일이 별로 없기 때문에 이런 에러메세지가 당황스러운데요. 이런 경우 해당 SSH KEY 파일에 대한 권한을 수정해줘야 합니다.
> Bad permissions. Try removing permissions for user
> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> @ WARNING: UNPROTECTED PRIVATE KEY FILE! @
> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> Permissions for 'd:\\dev\\ssh_key\\gom.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 "d:\\dev\\ssh_key\\gom.pem": bad permissions
> ubuntu@antennagom.com: Permission denied (publickey).
SSH KEY파일 Permission 권한 수정하기
접속에 사용하려는 SSH 키파일에 오른쪽 버튼을 클릭하여 속성 메뉴를 선택합니다.
속성 창에서 보안 탭을 열어보면 아래와 같이 그룹 또는 사용자 이름에 여러개의 계정이 들어가 있을 수 있습니다. 이렇게 권한이 여러명에게 열려있을 경우 Permission Denied 에러가 발생되는데요.
아래에 있는 고급 버튼을 누릅니다.
고급 보안 설정 창이 열리는데요. 사용 권한 항목에 여러 계정이 들어있는 것을 볼 수 있습니다. 창의 아래에 있는 상속 사용 안함 버튼을 누르겠습니다.
팝업 선택창이 나오는데요. 여기서 이 개체에서 상속된 사용 권한을 모두 제거합니다. 를 선택합니다.
그럼 기존에 추가되어 있는 계정이 모두 삭제될텐데요. 팝업창 아래에 있는 추가 버튼을 누르겠습니다.
권한 항목 창이 나타납니다. 여기서 보안 주체 선택을 선택합니다.
사용자 또는 그룹 선택 창에서 선택할 개체 이름을 입력하십시오. 창에 현재 사용하고 있는 윈도우 계정 이름을 입력합니다.
만약, 마이크로소프트 계정으로 사용하고 있다면 해당 계정을 입력하면 되고 또는 로컬계정으로 사용하고 있다면 윈도우 계정 이름을 입력한 후 확인을 누릅니다.
이제 아래와 같이 고급 보안 설정 창의 보안 주체 항목에는 방금 추가한 계정 하나만 추가되어 있을 겁니다. 확인 버튼을 누릅니다.
권한 설정을 수정한 파일로 다시 SSH 접속을 시도하면, Permission denied (publickey)에러가 발생되지 않는 것을 볼 수 있습니다.