본문 바로가기
기타

Git push 안 될 때 permission denied 오류 해결 방법

by 요료료룡 2026. 4. 15.

📌 문제 상황

GitHub에 코드를 업로드하려고 git push를 했는데 아래와 같은 오류가 발생하는 경우가 있다.

Permission denied (publickey)
fatal: Could not read from remote repository.

또는

remote: Permission to repository denied

👉 특히 Git을 처음 사용하는 초보자에게 자주 발생하는 문제다.


📌 원인 정리

이 오류는 대부분 “인증 문제” 때문에 발생한다.

주요 원인은 다음과 같다:

  1. SSH 키가 등록되지 않음
  2. GitHub 계정 인증 방식 변경 (비밀번호 → 토큰)
  3. 잘못된 저장소 접근 권한
  4. 원격 저장소(remote) 주소 오류

✅ 해결 방법 1: SSH 키 생성 및 등록

가장 일반적인 해결 방법이다.

✔ SSH 키 생성

터미널에서 아래 명령어 입력:

ssh-keygen -t ed25519 -C "your_email@example.com"

👉 엔터 계속 눌러서 기본값으로 생성


✔ SSH 키 확인

cat ~/.ssh/id_ed25519.pub

출력된 키를 복사한다.


✔ GitHub에 SSH 키 등록

  1. GitHub 로그인
  2. Settings → SSH and GPG keys
  3. New SSH Key 클릭
  4. 복사한 키 붙여넣기

✅ 해결 방법 2: HTTPS → Personal Access Token 사용

최근에는 GitHub에서 비밀번호 인증이 막혀 있다.

👉 대신 “토큰”을 사용해야 한다.

✔ 토큰 생성 방법

  1. GitHub → Settings
  2. Developer settings
  3. Personal access tokens → Tokens (classic)
  4. Generate new token

👉 repo 권한 체크 후 생성


✔ 사용 방법

git push 시 비밀번호 대신 토큰 입력


✅ 해결 방법 3: 원격 저장소(remote) 주소 확인

잘못된 저장소 주소를 사용하면 접근이 거부된다.

✔ 확인 방법

git remote -v

👉 주소가 맞는지 확인


✔ 수정 방법

git remote set-url origin 저장소주소

✅ 해결 방법 4: SSH 연결 테스트

SSH가 제대로 연결되는지 확인 가능하다.

ssh -T git@github.com

👉 아래 메시지가 나오면 정상

Hi username! You've successfully authenticated

🔥 추가 팁

  • 회사/학교 계정과 개인 계정 SSH 키 충돌 주의
  • 여러 GitHub 계정 사용 시 SSH 설정 분리 필요
  • 처음엔 HTTPS 방식이 더 쉬울 수 있음

📌 마무리

permission denied 오류는 대부분
👉 인증 방식 문제 (SSH 또는 토큰) 때문이다.

하나씩 차근차근 확인하면 어렵지 않게 해결할 수 있다.


💡 Git은 처음에만 어렵고
익숙해지면 개발 필수 도구가 된다.
이 과정에서 오류 해결 경험이 쌓이는 게 중요하다.