Permission denied (publickey) 는 SSH 인증에 실패했을 때 나오는 에러이다.
즉, GitHub나 원격 저장소가 현재 컴퓨터의 SSH 키를 신뢰하지 않았다는 뜻이다.
git push origin main
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.보통 아래 경우이다.
- GitHub에 공개키를 등록하지 않음
ssh-agent에 키를 추가하지 않음- 다른 SSH 키를 잡고 있음
- remote URL은 SSH인데 키 설정이 안 됨
- 권한 없는 저장소에 push 시도함
git remote -vls -al ~/.sshssh-add -lssh -T git@github.com공개키 확인:
cat ~/.ssh/id_ed25519.pub이 내용을 GitHub Settings -> SSH and GPG keys 에 등록한다.
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519SSH 형식이어야 한다.
git@github.com:username/repo.gitgit remote set-url origin git@github.com:username/repo.git~/.ssh/config 에 명시한다.
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnly yeseval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
ssh -T git@github.com
git remote -v이 에러는
SSH 방식으로 인증하려 했는데 원격 저장소가 현재 키를 신뢰하지 않는 상태이다.