github에서 새 레포지토리 생성 후 push하는 과정에서 발생한 에러이다.
1. 에러 상황
- github에서 새 레포지토리를 생성하고 프로젝트를 github에 push하는 과정에서 발생한 에러이다
- 여태까지 레포 생성하고 푸시했을 때 문제없이 잘 되다가 갑자기 이런 문제가 발생했다.
git push -u origin main
를 했을 때 아래처럼 에러 문구가 발생했다.
2. 에러 메세지
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
3. 해결 방법
해결 방법1. SSH key 생성
- 결론적으로 나는 이 방법으로 문제가 해결되지 않았다.
- 일단 SSH key를 생성하는 방법은 다음 과정으로 진행하면 된다.
$ ssh-keygen -t ed25519 -C "your_email@example.com"
- 해당 명령어를 입력했으면 특별한 사유가 없을 경우 enter를 계속 눌러주면 된다.
- 그러면 기본 위치에 (~/.ssh/id_rsa.pub) 키가 생성된다.
- 참고로 이 키는 절대 공개하면 안된다!!
- 생성된 키를 깃허브에 올려주기 위해서 해당 명령어를 입력한다.
cat ~/.ssh/id_rsa.pub
- 입력했으면 ssh-rsa로 시작하는 문자가 출력된다.
- ssh-rsa부터 마지막 내 이메일이 써져있는 부분까지 복사한다
- github에 들어가서 → settings → SSH and GPG keys → New SSH key를 클릭한다.
- title은 마음대로 입력해주면 되고, key 부분에 복사한 것을 붙여넣기 해준다.
- Add SSH key를 눌러준다.
- 그러면 본인 github 비밀번호 입력창이 뜨고 입력을 마치면 public key가 생성된다.
하지만 나는 이 방법으로 진행했을 때도 문제가 해결되지 않았다.
해결 방법2. https 주소로 변경
- 사진처럼 나는 기존에 SSH로 설정된 주소로 remote 시켜줘서 해당 에러가 발생했던 것 같다.
- SSH가 아닌 HTTPS로 변경해서
git remote add origin https://~
를 해주면 public key를 등록하지 않고도 문제가 간단히 해결된다!
- 왜 SSH로 설정했던 걸까..ㅎㅎ
참고 자료