학습 기록 블로그
[Git] 'Error Permission denied (publickey)' 에러가 발생하는 경우 본문
원격 저장소를 내려받기 위해 git clone git@github.com:~~ 형식으로 실행하던 중 Permission denied (publickey) 에러가 나면서 clone이 되지 않았다.
에러 해결 방법을 찾아보니 git clone https://github.com/~~.git 형식으로 바꿔서 실행하면 된다고 한다.
성공...
왜 주소를 변경하니 받아지는 건지 궁금해지기 시작해서 더 찾아보니
두 클론 방식의 차이는 SSH 키의 사용 여부라고 한다. git clone git@github.com:~~ 방식은 SSH프로토콜을 사용하는 방식으로 gitHub에 SSH 키를 생성해두지 않으면 위와 같은 오류가 발생한다.
정리해 보면 Permission denied (publickey) 오류는 SSH 키를 사용하지 않는 방식으로 클론 하거나 SSH 키를 생성해 주면 해결되는 오류이다.
그럼 SSH키 생성방법을 알아보자
우선 SSH키를 생성하자
$ ssh-keygen -t ed25519 -C "yourEmail@naver.com"
키생성 명령어를 실행하면 위에서 처럼 키 저장위치 password등 몇 개 물어보는데 그냥 엔터 누르고 넘어가줍니다.
만약 ed25519방식이 안 되는 분들은 아래 방식으로 시도해 보시기 바랍니다.
$ ssh-keygen -t rsa -b 4096 -C "yourEmail@naver.com"
여기서 -C는 대문자 이다. 만약 소문자로 작성하면 아래와 같은 Too many arguments. 오류를 만나니 주의하자.
생성된 SSH 키를 ssh-agent에 등록합니다.
이제 깃배쉬에서 키가 저장된 디렉터리로 이동한 뒤에
$ cat id_ed25519.pub 명령어로 생성된 키값을 조회한뒤 복사해 줍니다.
이후 본인 GitHub에 접속해서 =>Settings => SSH and GPG keys => NEW SSH keys로 이동
Title은 자유롭게 작성하시고 위에서 복사한 키값을 저 key란에 복붙 해준 뒤 Add SSH key를 눌러 생성해 줍니다.
위와 같이 접속되면 키생성 성공!
키생성 이후에는 두 가지 클론방식 모두 오류 없이 잘 받아와 졌다.
'정리' 카테고리의 다른 글
Docker 로 MySQL 설치하고 접속하기 (0) | 2023.03.27 |
---|---|
[DB] 헷갈리는 KEY 개념 잡기 (0) | 2023.03.21 |
[GitHub] The requested URL returned error: 403 (0) | 2023.03.18 |
[Eclipse]Spring 프로젝트 세팅 중 프로젝트에 x표시 생겼을 때 (0) | 2023.03.11 |
Docker 공부 (0) | 2023.03.04 |