본문 바로가기
IT정보

VScode 에서 Remote-ssh 접속 오류 해결 - 프로세스에서 없는 파이프에 쓰려고 했습니다.

by 하이커스 2023. 6. 12.
반응형

VScode 로 AWS 같은 클라우드에 ssh 접속을 시도할때 간혹 접근거부 오류가 발생하고는 합니다. 주로 권한과 관련된 이슈로 문제가 발생하며 이를 해결 하는 방법은 의외로 간단합니다. 이에 대해 기록으로 남기고자 합니다. 

 

SSH Key Permission denied

"프로세스에 없는 파이프에 쓰려고 했습니다." 라는 멘트와 함께 원격 서버의 접근이 안되는 경우가 있습니다. 오류 메시지를 보면 결정적인 이유가 bad permissions 이라고 합니다. 

permission denied 해결
접속권한 제한

오류의 원인은 원격지 서버에서 본 pem 파일의 권한을 문제 삼는게 아니라 vscode 가 pem 파일에 접근하는데 문제가 있어서 발생하는 오류입니다. notepad 에서 pem 파일을 이용해서 원격 서버에 접근할때는 이런 오류가 발생하지 않지만 vscode 를 통해서 접근할때는 오류가 발생할 경우 의외로 해결 방법은 간단합니다. 

 

1) pem 파일에 오른쪽 마우스 클릭 > 속성 클릭

속성

2) 속성 > 보안탭 > 고급 이동

보안탭 고급
고급

3) 상속 사용 안 함

상속사용 안함
상속 사용 안 함

상속사용 안함을 클릭하면 다음과 같이 권한을 모두 제거할거냐고 물어보는데 망설이지 말고 제거해주세요

 

상속된 권한을 제거
상속 권한 제거

 

4) 사용자 권한 부여

위에서 상속권한을 모두 제거해서 pem 파일에는 아무런 권한이 없는 상태가 되었습니다. 

여기에 다음과 같이 다시 권한을 부여해줘야 합니다. 

pem 파일의 속성 > 보안 탭을 열어서 다시 편집 버튼을 클릭합니다. 

편집으로 권한 부여
사용자 권한 추가

아래의 그룹또는 사용자 이름 레이어에서 "추가" 해줍니다.

추가

아래 창에서 선택할 개체 이름에 본인 이름을 입력하고 이름 확인을 클릭하고 확인처리합니다.

사용자 이름 입력
사용자 이름 입력

이전 창에서 사용권한에 기본 권한을 그대로 둔상태에서 적용 > 확인 처리 해줍니다.

그러면 아래와 같이 권한이 자동 부여됩니다. 

자동 부여 권한
권한 자동 부여

이제 다시 VScode 로 원격지에 pem 파일로 접속 시도해보자

접속을 성공했는가? 혹시나 안됐다면 다음의 방법을 시도해보자

 

known_hosts 파일 수정

C://Users//사용자이름//.ssh 폴더에 들어가면 known_hosts 파일이 있다.

known_hosts
known_hosts 파일

 

이걸 메모장으로 열어보면 접속하려는 원격지 정보아이피가 남아있는걸 확인할수 있다. 

접속하려는 원격지의 아이피만 삭제하고 파일을 저장해보자

그리고 다시 VScode 로 원격지 접속시도를 해보자 

 

 

VScode 로 원격지에 pem 파일로 접근할때 발생할수 있는 대표적인 문제인 접근권한 문제 해결방법에 대해서 알아보았습니다. 한참을 원인을 찾아봤으나 해결이 안되어 노트패드로 코딩을 하다가 해결한 문제라서 기억에 많이 남는 오류였습니다. 다시는 삽질하지 않기 위해서 기록해둡니다. 

반응형

댓글