git@github.com: Permission denied (publickey) 에러 해결 방법

Su Bak
3 min readApr 12, 2022
Photo by Mohammad Rahmani on Unsplash

git push 또는 git pull 명령어를 시도했을 때 아래와 같은 에러가 발생하는 경우가 있습니다

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.

이런 에러가 발생하는 이유는 해당 git@github.com 에 연결된 ssh key가 설정되어있지 않기 때문인데요.

이를 해결하는 방법은 간단합니다. ssh key 를 만들고 이 키를 github의 본인 계정에 등록해주면 되는데요.

먼저 ssh key를 만들어 줍니다.

ssh-keygen -t rsa -C “본인 GitHub 계정 이메일”

위 명령어의 의미는 ssh key를 만드는데 rsa(공개키 암호 알고리즘) 방식으로 만들고 C 옵션은 그냥 코멘트라서 쓰셔도 되고 안쓰셔도 됩니다.

ssh-keygen을 실행하면 terminal 창에 어디 위치에 키를 생성할 건지 지정하라고 나오는데 그냥 엔터키를 누르시면 기본 위치(~/.ssh/id_rsa.pub)에 생성됩니다.

다음엔 패스워드를 지정하라고 나올텐데 패스워드를 지정하고 싶으시면 입력하시면 되고 아니면 그냥 엔터를 누르셔도 상관없습니다.

그러면 이제 ~/.ssh/id_rsa.pub에 키가 생성되었다고 나올텐데요. 절대 이 키는 남에게 공개하면 안됩니다. (공개하면 그냥 나의 깃허브를 마음껏 사용하세요란 말과 같아요)

생성된 키는 깃허브에 등록해야되기 때문에 cat ~/.ssh/id_rsa.pub 을 하신 다음에 나온 내용을 복사해주세요.

만들어진 키를 나의 깃허브 계정에 세팅해주면 끝납니다. 먼저 깃허브에 로그인을 하시고 Settings -> SSH and GPG Keys 에 들어가주세요.

New SSH key 버튼을 누르시고 Title은 원하시는 데로 입력하시고 아래의 Key를 넣는 부분에서 저희가 만들었던 복사한 ssh key(~/.ssh/id_rsa.pub)키를 넣어주시면 됩니다.

이제 git pull 또는 git push를 해주시면 에러가 해결된 것을 확인할 수 있습니다.

--

--

Su Bak

Backend Developer. Mainly use JavaScript but try not to have language constraints. Always trying to acquire new knowledge