github

Git SSH 인증 오류 해결 가이드

KUKJIN LEE
KUKJIN LEE
2025년 5월 25일
201
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에서 SSH 프로토콜을 통해 GitHub 리포지토리에 접근하려 했으나, 인증에 실패하여 발생합니다. SSH 키 인증이 정상적으로 되어 있지 않거나, 리포지토리에 대한 권한 부족이 원인일 수 있습니다.

 

전제 조건 확인

1. SSH 연결 확인

ssh -T git@github.com

정상적인 응답

Hi <username>! You've successfully authenticated, but GitHub does not provide shell access.

2. 리모트 URL 확인

git remote -v

출력 예시

origin  git@github.com:Organization/server.git (fetch)
origin  git@github.com:Organization/server.git (push)

 

주요 원인 및 해결 방법

원인 1. SSH 키 등록 누락

  • ~/.ssh/id_ed25519.pub 또는 ~/.ssh/id_rsa.pub 등 공개 키가 GitHub에 등록되어 있지 않으면 인증 실패

  • 해결 방법:

    1. 키 생성: ssh-keygen -t ed25519 -C "your_email@example.com"

    2. SSH Agent 등록: ssh-add ~/.ssh/id_ed25519

    3. 공개 키 등록: GitHub > Profile > Settings > SSH and GPG keys > New SSH Key

 

원인 2. 잘못된 SSH 키 사용

  • 여러 SSH 키를 사용 중일 때, 예상과 다른 키가 선택되어 인증 실패

  • 해결 방법:
    ~/.ssh/config 파일에 명시적 지정 추가

Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519
  IdentitiesOnly yes

 

원인 3. 리포지토리 푸시 권한 없음 (Organization에서 자주 발생)

  • git@github.com:Organization/server.git는 조직 리포지토리로, test 계정이 write 권한이 없을 수 있음

  • 해결 방법:

    • 조직 관리자에게 권한 요청

    • 또는 본인 계정으로 Fork 후 Push

관련 글

주관적 SSH 및 SFTP 클라이언트 추천 (2025년 기준)

SSH와 SFTP 클라이언트는 원격 서버에 접속하고 파일을 전송하는 도구로, Git과 같은 버전 관리 시스템과는 기능적으로 다르지만 개발 및 배포 워크플로우에서 Git과 SSH/SFTP를 함께 사용하기 때문에 Git(버전 관리 시스템) 카테고리에 작성하였습니다. 서버에...

2025년 6월 30일279

Accept Both Changes vs Compare Changes을 통한 충돌 해결 전략 비교

Accept Both Changes 란? Accept Both Changes는 충돌이 발생한 파일에서 로컬 브랜치 와 원격 브랜치 의 변경 사항을 모두 유지 하는 옵션입니다. 언제 사용할까? 두 변경 사항이 모두 유효하고, 결합하여 사용하는 것이 적절할 때. 충돌된 코...

2024년 8월 28일284

Accept Current Change vs. Accept Incoming Change 충돌 해결할 때

Accept Current Change 란? Accept Current Change는 충돌이 발생한 파일에서 로컬 브랜치 (현재 작업 중인 브랜치)의 변경 사항을 유지하고, 원격 브랜치 의 변경 사항을 무시하는 옵션입니다. 쉽게 설명하면, 네가 바꿀래? 내가 바꿀까? ...

2024년 8월 26일328

Can’t Automatically Merge 발생 이유와 해결 방법

Can’t Automatically Merge란? Can’t Automatically Merge"는 GitHub에서 Pull Request(PR)를 병합하려고 할 때, Git이 자동으로 병합할 수 없는 충돌이 발생했음을 알리는 메시지입니다. 이 메...

2024년 8월 22일304