반응형
Git에서 새로운 프로젝트를 clone 하는 과정에서
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
에러가 발생했다.
개발에서 에러는 일상이다.
당황하지 말고, 차근차근 원인을 찾아보도록 하자.
1. SSH 키값이 존재하는지 확인
fatal: Could not read from remote repository.
이슈가 발생하는 근본적인 이유는 SSH authentiction
문제에 있을 수 있다.
키값을 확인해보니 4096 bit의 키 값이 확인되고 있다.
# SSH 키값 확인
ssh-add -l -E sha256
>4096 SHA256:G4Hy**********************************8 *********@gmail.com (RSA)
2.서버연결 확인
서버와의 연결을 확인해보자.
정상적인 URL로 접속하고 있는 것을 확인할 수 있다.
ssh -vT git@github.com
OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2
debug1: Connecting to github.com [52.78.231.108] port 22.
debug1: Connection established.
debug1: identity file C:\\Users\\ys/.ssh/id_rsa type -1
debug1: identity file C:\\Users\\ys/.ssh/id_rsa-cert type -1
debug1: identity file C:\\Users\\ys/.ssh/id_dsa type -1
.....
Hi USERNAME! You've successfully authenticated, but GitHub does not provide shell access.
debug1: channel 0: free: client-session, nchannels 1
Transferred: sent 3400, received 3352 bytes, in 0.4 seconds
Bytes per second: sent 9390.7, received 9258.1
status 1
it
3. ssh-agent 확인
ssh-agent에 정상적으로 private key가 입력되었는지
확인해본다.
#ssh-agent에 추가된 키 리스트 확인
ssh-add -l
키 리스트를 확인해보면 현재 등록된 키 값을 확인할 수 있다.
ssh-add -L
결과값은 내가 발급받은 퍼블릭 키의 값을 확인할 수 있다.
즉 내가 발급받은 키가 정상적으로 agent에 등록되었음을
확인할 수 있다.
그럼에도 불구하고 SSH-Agent가 정상작동하지 않고 있다.
4. 에러확인 및 성공
기본적으로 SSH키를 발급받을 때 굉장히 주의를 기울여야 한다.
분명 서버에서 authentication을 받고, 통신이 가능한 상태인데,
특정 repository의 값만 받아오지 못하는 상황이 이해가 되지
않았는데, 키 발급에 문제가 있었다.
ssh-keygen -t rsa -b 4096 -C "USERNAME@gmail.com"
명령어를 입력하고 바로 다음에 나오는 콘솔에서
그냥 엔터를 치면 된다.
Generating public/private rsa key pair.
Enter file in which to save the key (C:\/.ssh/id_rsa):
기본경로와 파일명을 디폴트로 지정해야 한다.!!
여기서 자기만의 이름을 입력한다던지,
경로를 바꿔버리면 SSH_AGENT가
내 키를 찾지 못하고 계속 해맨다.
정확히는 호스트를 봐도 호스트를 구분하지
못하는 참사가 일어난다.
디폴트 경로 + 디폴트 파일명으로 지정했고,
Git clone 성공
Git push 성공
반응형
'Programming' 카테고리의 다른 글
Git reset commit add push 도중 실수한 경우 되돌리는 방법 (0) | 2021.09.23 |
---|---|
Git 작동원리 workflow 이해 (0) | 2021.09.23 |
Git remote 관리 (0) | 2021.09.23 |
Github branch #2 Pull Request (0) | 2021.09.21 |
Git branch 새로운 브랜치를 만들어 보자 (0) | 2021.09.21 |
git local 작업시 remote origin 추가하기 (0) | 2021.09.21 |
댓글