📌 문제 상황
GitHub에 코드를 업로드하려고 git push를 했는데 아래와 같은 오류가 발생하는 경우가 있다.
Permission denied (publickey)
fatal: Could not read from remote repository.
또는
remote: Permission to repository denied
👉 특히 Git을 처음 사용하는 초보자에게 자주 발생하는 문제다.
📌 원인 정리
이 오류는 대부분 “인증 문제” 때문에 발생한다.
주요 원인은 다음과 같다:
- SSH 키가 등록되지 않음
- GitHub 계정 인증 방식 변경 (비밀번호 → 토큰)
- 잘못된 저장소 접근 권한
- 원격 저장소(remote) 주소 오류
✅ 해결 방법 1: SSH 키 생성 및 등록
가장 일반적인 해결 방법이다.
✔ SSH 키 생성
터미널에서 아래 명령어 입력:
ssh-keygen -t ed25519 -C "your_email@example.com"
👉 엔터 계속 눌러서 기본값으로 생성
✔ SSH 키 확인
cat ~/.ssh/id_ed25519.pub
출력된 키를 복사한다.
✔ GitHub에 SSH 키 등록
- GitHub 로그인
- Settings → SSH and GPG keys
- New SSH Key 클릭
- 복사한 키 붙여넣기
✅ 해결 방법 2: HTTPS → Personal Access Token 사용
최근에는 GitHub에서 비밀번호 인증이 막혀 있다.
👉 대신 “토큰”을 사용해야 한다.
✔ 토큰 생성 방법
- GitHub → Settings
- Developer settings
- Personal access tokens → Tokens (classic)
- 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은 처음에만 어렵고
익숙해지면 개발 필수 도구가 된다.
이 과정에서 오류 해결 경험이 쌓이는 게 중요하다.
'기타' 카테고리의 다른 글
| Git pull 했는데 충돌 발생할 때 해결 방법 (merge conflict 해결) (0) | 2026.04.16 |
|---|---|
| Python pip install 안 될 때 해결 방법 (Windows / Mac 공통) (2) | 2026.04.15 |
| VSCode에서 Python 실행 안 될 때 해결 방법 (환경변수 오류 포함) (0) | 2026.04.15 |
| [GIT] Git 브랜치 전략 완벽 가이드: Git Flow vs GitHub Flow vs Trunk-based (0) | 2026.04.04 |
| [Eclipse] 이클립스 Lombok 적용 안될 때 해결 방법 (0) | 2024.04.23 |