C

github 토큰 인증 설정: Personal Access Token 발급과 사용법

2026-05-26 · Git · 도구 · GitHub · 인증 · 문제해결

github 토큰 인증 설정이 필요한 이유

GitHub는 2021년부터 HTTPS로 push할 때 계정 비밀번호를 받지 않습니다. 대신 Personal Access Token(PAT)을 비밀번호 자리에 입력해야 합니다. 그래서 github 토큰 인증 설정을 모르면 remote: Support for password authentication was removed 같은 에러를 만나게 됩니다. 이 글에서는 Personal Access Token을 발급하고 적용하는 법을 처음부터 정리합니다.

증상: 이런 메시지가 뜹니다

remote: Support for password authentication was removed on August 13, 2021.
fatal: Authentication failed for 'https://github.com/user/repo.git/'

1단계: Personal Access Token 발급하기

GitHub 웹사이트에서 발급합니다. 두 종류가 있는데 입문자는 둘 중 하나를 고르면 됩니다.

종류특징추천 상황
Fine-grained token특정 저장소·권한만 부여(최신 권장)보안이 중요한 경우
Classic token설정이 간단, 범위(scope) 단위빠르게 시작할 때

발급 경로:

  1. GitHub 우상단 프로필 → Settings
  2. 좌측 맨 아래 Developer settings
  3. Personal access tokens → Tokens (classic) 또는 Fine-grained tokens
  4. Generate new token 클릭
  5. 이름(Note), 만료일(Expiration) 설정
  6. 권한은 repo(classic) 또는 해당 저장소의 Contents: Read and write(fine-grained)를 체크
  7. Generate token 후 표시되는 토큰을 즉시 복사

경고: 토큰은 발급 직후 한 번만 보입니다. 페이지를 닫으면 다시 볼 수 없으니 안전한 곳에 복사해 두세요. 토큰은 비밀번호이므로 코드나 채팅에 절대 노출하면 안 됩니다.

2단계: push할 때 토큰 입력하기

이제 push하면 아이디와 비밀번호를 묻습니다. 비밀번호 자리에 방금 만든 토큰을 붙여넣으세요.

git push origin main
# Username: 본인 GitHub 아이디
# Password: (붙여넣기) ghp_xxxxxxxxxxxx ← 토큰

3단계: 매번 입력하지 않게 자격증명 저장하기

토큰을 한 번만 입력하고 기억시키려면 credential helper를 설정합니다.

# Windows: 자격증명 관리자 사용 (권장)
git config --global credential.helper manager

# macOS: 키체인 사용
git config --global credential.helper osxkeychain

# 간단 저장(평문 저장이라 개인 PC에서만)
git config --global credential.helper store

주의: store는 토큰을 평문 파일(~/.git-credentials)에 저장합니다. 공용 PC에서는 쓰지 말고, Windows는 manager, macOS는 osxkeychain을 쓰세요.

원격 URL에 토큰을 직접 넣는 방법 (비권장)

git remote set-url origin https://<토큰>@github.com/user/repo.git

가능은 하지만 토큰이 설정 파일에 평문으로 남아 권장하지 않습니다. credential helper 방식을 쓰세요.

SSH를 쓰면 토큰이 필요 없나요?

맞습니다. SSH 키를 등록하면 매번 토큰 없이 push할 수 있습니다.

# SSH 키 생성
ssh-keygen -t ed25519 -C "[email protected]"

# 공개키 내용 확인 후 GitHub Settings → SSH keys에 등록
cat ~/.ssh/id_ed25519.pub

# 원격을 SSH 주소로 변경
git remote set-url origin [email protected]:user/repo.git

주의점 정리

  • 토큰은 발급 직후 한 번만 보이니 즉시 복사
  • 만료일이 지나면 push가 다시 막히니 재발급 필요
  • 토큰을 실수로 노출했다면 즉시 GitHub에서 Revoke(폐기)

자주 묻는 질문

Q1. 예전에 저장된 잘못된 비밀번호 때문에 계속 인증 실패해요.

Windows라면 자격 증명 관리자(Credential Manager)에서 git:https://github.com 항목을 삭제한 뒤 다시 push해 토큰을 새로 입력하세요. git config --global credential.helper manager가 설정돼 있어야 새 토큰을 묻습니다.

Q2. fine-grained와 classic 중 뭘 골라야 하나요?

일단 빠르게 시작하려면 classic + repo 권한이 간단합니다. 다만 보안상으로는 필요한 저장소와 권한만 주는 fine-grained가 권장됩니다. 회사나 공개 프로젝트라면 fine-grained를 쓰는 것이 좋습니다.

Q3. 토큰에 어떤 권한(scope)을 줘야 push가 되나요?

classic 토큰은 repo 범위를 체크하면 코드 push가 가능합니다. fine-grained 토큰은 대상 저장소를 선택하고 Contents 권한을 Read and write로 설정해야 합니다.

github 토큰 인증 설정: Personal Access Token 발급과 사용법 | CodeMaster 블로그 | CodeMaster