개요
깃허브에 내 개발 서버의 .pub 키를 등록하기 위해서
개발 서버로 접속 후 ssh-keygen
명령어를 사용하여 ssh 키 페어를 생성하고 https://github.com/settings/keys에 등록해주었다.
그런데 개발 서버에서 코드 업데이트 후 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. 왜 이런 에러가
해결 방법
키 페어도 정상적으로 생성했고, 생성된 .pub 의 내용을 https://github.com/settings/keys에도 정상적으로 등록 해줬는데도 push가 되지 않았음.
GPT에게 질문한 결과 아래 방법으로 해결할 수 있었다.
1. SSH 키 확인 및 관리
먼저 로컬 컴퓨터 또는 서버에 있는 SSH 키 확인.
ls -al ~/.ssh
2. SSH 키가 있는지 먼저 확인
만약 위 명령 실행 시 키 파일이 없다면 새로 생성.
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/github_id_rsa
위 명령을 실행하면 SSH 키를 생성할 수 있는 프로세스가 시작됩니다. 그냥 엔터를 누르고 기본값을 선택하는 것도 가능합니다. 이렇게 하면 github_id_rsa 및 github_id_rsa.pub 파일이 생성됩니다.
3. git config 설정 확인
Git이 SSH를 사용하도록 설정되었는지 확인
git config --get remote.origin.url
결과가 다음과 같은 SSH URL인지 확인하자.
git remote set-url origin git@github.com:username/repository.git
만약 SSH URL이 아닌 HTTPS URL로 설정된 경우 SSH URL로 변경
git remote set-url origin git@github.com:username/repository.git
4. SSH 에이전트를 실행하여 키 추가
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa