SSH키를 사용중 id_rsa키의 백업을 안하고 포맷을 해버렸다고 가정을 해보자
git add, git commit까지는 잘 된다
하지만, git push에서 에러를 발생하는데...
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: 권한 거부(공용 키).
치명적: 원격 저장소에서 읽을 수 없고
올바른 액세스 권한이 있고 저장소가 있는지 확인하라는 내용이다.
구글링을 해보자
Permission denied (publickey)로 검색을 해서 맨 처음 나오는 링크로 들어갔다(GitHub 문서)
사용중인 키가 있는지 확인해보자
eval $(ssh-agent -s)
Agent pid xxxx 라고 나온다
개인 키가 생성되어 SSH에 로드되었는지 확인해보자
ssh-add -l -E sha256
The agent has no identities. 라고 나온다
ssh-keygen -t ed25519 -C "your_email@example.com"
이메일 부분은 자신의 것을 넣고 엔터를 누르면
기본파일 위치와 암호관련 내용을 물어보는데,
저는 기본파일 위치는 오케이, 암호관련 내용은 패스, 그래서 엔터엔터엔터~~~
이렇게 키가 생성된다(사진에서 개인적인 부분은 안보이게 함)
Mac은 추가 작업이 필요하다
~/.ssh/config 파일이 존재하는지 체크해보자
open ~/.ssh/config
만약 존재하지 않는다면 파일을 생성하고,
touch ~/.ssh/config
내용을 추가해주자
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519
키를 생성했으니까 ssh-agent에 SSH키를 추가하자
ssh-add ~/.ssh/id_ed25519
거의 다 왔다
SSH 공개 키를 클립보드에 복사하자
윈도우에서...
clip < ~/.ssh/id_ed25519.pub
맥에서...
pbcopy < ~/.ssh/id_ed25519.pub
복사가 잘되었으면, github > Settings > SSH and GPG keys에서 복사한 키를 추가해주자.
(추가할 때는 줄바꿈이나 공백을 추가하지 말자)
그러면...
이렇게 추가되면 git push를 다시 시도해보자
push가 잘되는가? 그러면 성공한거다
다시 github에 가서 페이지 새로고침 해보면
이렇게 초록색으로 바뀌면서 마지막 내용이 Never used에서 Last used...이라고 바뀐다
컴퓨터를 포맷하고 재설치하면서 복습겸사겸사 해보았다
전과 다른점이라면 id_rsa가 id_ed25519로 바뀌었다.
Ed25519 알고리즘(넌 누구냐, 복습하려다 공부 추가되는 거 실화?)
끝.
'프로그래밍 > Git' 카테고리의 다른 글
[Git] 경고: 원격 호스트 ID가 변경되었습니다! (0) | 2023.03.31 |
---|---|
[Git] SSH 키를 개인계정과 회사계정으로 분리하기 (0) | 2021.03.22 |
[Git] SSH키를 소스트리(Sourcetree)에 연결하기 (0) | 2020.12.23 |
댓글