github Permission denied 에러

문제

git clone 중 다음과 같은 오류가 발생했다.

[email protected]: Permission denied (publickey)

해결

SSH key가 로컬에 없어 발생하는 문제이다.

  1. SSH key를 생성한다.
    명령어를 입력하면 Enter ~ 로 시작해서 계속해서 뭐 입력하라는 문장이 나오는데 딱히 추가할 게 없다면 엔터만 누르면 된다.
$ ssh-keygen -t rsa -C "Github 계정 이메일 주소"
  1. SSH key는 다음 경로에 저장된다. (Ubuntu 20.04)

  1. 새로 생성된 id_rsa.pub 키 값을 확인한다.
cat /root/.ssh/id_rsa.pub
  1. 깃허브에서 setting -> SSH and GPG key -> New SSH Key를 선택해 새로운 키를 입력한다.
    반드시 ssh-rsa 부터 시작해 마지막 부분의 내 이메일 주소까지 전부 복사해서 입력할 것!

  1. 키 생성 이후 잘 작동하는지 확인한다.
$ ssh -T [email protected]

. . .

그래서 분명 여기까지 하면 작동이 잘 되어야 하는데, 내 경우 ssh -T [email protected] 명령어를 입력했더니 새로운 오류가 발생한다.

ssh: connect to host github.com port 22: Connection timed out

다른 깃허브 이슈를 참고해 다음 방식으로 해결했다.

$ ssh -T -p 443 [email protected]
Hi xxxx! You've successfully authenticated, but GitHub does not provide shell access.
  1. $ vi ~/.ssh/config 로 이동해 config 파일을 수정해야 한다.
    이동하려고 했는데 해당 경로가 없다고 뜰 때는 현재 계정이 root 인지 확인하고, 아니라면 root로 변경한다. 아래 내용을 입력한다.
$ vi ~/.ssh/config
Host github.com
	Hostname ssh.github.com
    Port 443
  1. ssh -T [email protected]이 동작하는지 확인한다.

이후 원하는 git을 clone하면 원활하게 작동한다.

좋은 웹페이지 즐겨찾기