본문 바로가기
개발 도구/Git

Permission denied (publickey). 오류 해결하기

by ♥︎해이나♥︎ 2023. 1. 3.
반응형

나도 이제 버전관리를 할 수 있게 된 기념으로! 리액트 공부를 하며 깃허브에 정원을 꾸며 보기로 마음 먹었다. 그런데 로컬 레포지토리에 있는 내용을 깃허브에 업로드 하려고 하니까 아래와 같은 메세지가 나오면서 진행이 되지 않았다.

 

git@github.com: Permission denied (publickey).

fatal: Could not read from remote repository.

 

Please make sure you have the correct access rights

and the repository exists.

Permission denied (publickey) 오류 발생

 

으아아아아아 깃허브가 나를 싫어한다아아아아아🫠 일단 정신줄을 잡고 구글신님께 도움을 청해 보았다.

먼저 이런 메세지가 뜨는 이유는 서버에 SSH Key가 없거나 손상이 되어서 접근이 거부된 경우라고 한다. git은 SSH 또는 http 기반으로 사용을 하기 때문에, 만약 여러 대의 pc를 사용한다면 각각 SSH Key를 생성하고 등록해 주어야 한다. SSH Key를 생성하고 등록하는 과정은 조금 번거로울 수 있지만, 하지 않으면 깃허브를 사용할 수 없으니까... 차근차근 따라해 보도록 하자. (또 하다보면 그렇게 어렵지도 않...)

 

PC에서 SSH Key 발급하기

먼저 터미널에서 아래와 같이 커맨드를 입력하고 실행한다.

 

ssh-keygen -t rsa -C "깃허브 이메일 주소"

ssh-keygen -t rsa -C "E-mail Address"

 

Enter file in which to save the key (/User/zoe.lee/.ssh/id_rsa): 라는 문구가 나오는데, 그대로 엔터키를 누르면 된다.

 

패스워드 입력

 

다음으로 패스워드를 입력하라고 한다. 패스워드 설정을 원한다면 입력하고, 원하지 않는다면 역시 그냥 엔터키를 누른다. 그러면 이어서 생성된 SSH Key를 확인할 수 있을 것이다.

 

SSH key 발급 완료

 

깃허브에 SSH Key 등록하기

깃허브 사이트로 이동한 후에 로그인한다. 우측 상단 프로필 이미지를 클릭한 후에 Settings를 선택한다.

 

github menu

 

Settings 화면의 좌측 카테고리 중에서 Access > SSH and GPG keys를 선택한다.

 

SSH and GPG keys

 

SSH and GPG keys 화면에서 첫번째에 위치한 SSH Keys를 등록해주어야 한다. New SSH Key 라고 쓰여있는 초록색 버튼을 클릭한다.

 

SSH Key 등록

 

Title에는 적당한 제목을 넣어 주고, Key type은 Authentication key 그대로 유지한다. Key 부분에는 PC에서 생성한 SSH Key 번호를 입력해 주어야 한다.

 

SSH Key 등록

 

경로는 /User/사용자명/.ssh 이다. 해당 경로로 이동하면 id_rsa.pub 이라는 파일이 있다. 텍스트 편집기나 메모 프로그램 등으로 실행하면 텍스트를 확인할 수 있다. 파일 안의 텍스트를 통째로 복사, 붙여넣기 한 후에 Add SSH key를 누른다. 

 

.ssh 파일

 

SSH Key가 제대로 등록된 것을 확인할 수 있다.

 

SSH Key 등록

 

다시 터미널로 돌아와서 git push --set-upstream origin main 커맨드를 실행했더니 로컬 레포지토리에 있던 파일들이 깃허브에 정상적으로 업로드되었다.

 

git push --set-upstream origin main
github remote repository

 

나도 이제 깃허브 정원 가꾸기 본격 시작이다. 열심히 공부해서 숲으로 만들어야지🌲🌲🌲🌲🌲

 

반응형

댓글