[GitHub 100일 챌린지] Day 8 - Personal Access Token
[GitHub 100일 챌린지] Day 8 - Personal Access Token
100일 챌린지 Day 8 - Personal Access Token으로 안전하게 인증합니다
배울 내용
- Personal Access Token이란
- Token 생성하기
- Token 안전하게 사용하기
Topic1. Personal Access Token이란
PAT (Personal Access Token)의 개념
비밀번호 대신 Git 명령줄이나 API에서 사용하는 인증 토큰입니다.
1
2
3
4
5
6
7
8
9
기존 방식 (비권장):
git clone https://github.com/user/repo.git
Username: user
Password: your-password ❌
Token 방식 (권장):
git clone https://github.com/user/repo.git
Username: user
Password: ghp_xxxxxxxxxxxx ✅
왜 Token이 필요한가?
2021년 8월부터 GitHub는 비밀번호 인증을 중단했습니다!
1
2
3
4
5
6
7
8
비밀번호 인증:
❌ 2021년 8월 13일부터 불가능
❌ 보안 위험 (plain text 전송)
Token 인증:
✅ 현재 유일한 방법
✅ 권한 제한 가능
✅ 취소 가능
Token vs 비밀번호
| 구분 | 비밀번호 | Token |
|---|---|---|
| 만료 | 없음 | 설정 가능 |
| 권한 | 전체 | 선택 가능 |
| 취소 | 불가 (변경만) | 즉시 가능 |
| 용도 | 웹 로그인 | API, Git CLI |
| 노출 위험 | 높음 | 낮음 |
Token 사용 시나리오
언제 필요한가?:
- Git 명령줄에서 push/pull
- GitHub API 사용
- GitHub Actions
- 외부 서비스 연동
Topic2. Token 생성하기
1단계: Token 설정 페이지 접속
해보기:
1
2
3
4
5
6
1. GitHub 로그인
2. Settings → Developer settings
(좌측 메뉴 하단)
3. Personal access tokens → Tokens (classic)
4. "Generate new token" 클릭
5. "Generate new token (classic)" 선택
2단계: Token 정보 입력
Note (토큰 이름):
1
2
3
4
5
6
용도를 명확히 적기:
✅ "My Laptop Git Access"
✅ "CLI Tool - 2025"
✅ "Project API Access"
❌ "token"
❌ "test"
Expiration (만료 기간):
1
2
3
4
5
6
7
8
9
10
옵션:
- 7 days
- 30 days
- 60 days
- 90 days
- Custom
- No expiration (비권장)
권장: 90 days
(만료 전 갱신 알림 옴)
3단계: 권한(Scope) 선택
기본 Git 사용 (최소 권한):
1
2
3
4
5
✅ repo (전체 선택)
✅ repo:status
✅ repo_deployment
✅ public_repo
✅ repo:invite
추가로 필요할 수 있는 권한:
1
2
3
workflow - GitHub Actions 관리
write:packages - 패키지 업로드
delete_repo - Repository 삭제
해보기:
1
2
3
4
1. Note: "My Laptop - Git CLI" 입력
2. Expiration: "90 days" 선택
3. ✅ repo 체크 (전체)
4. 하단 "Generate token" 클릭
4단계: Token 복사 및 저장
화면에 나타나는 Token:
1
ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
⚠️ 중요:
1
2
이 화면을 벗어나면 다시 볼 수 없습니다!
반드시 지금 복사하세요!
해보기:
1
2
3
4
1. Token 복사 (📋 아이콘 클릭)
2. 비밀번호 관리자에 저장
또는
안전한 곳에 임시 저장
결과: Personal access token 생성 완료!
Topic3. Token 안전하게 사용하기
Git에서 Token 사용
Repository Clone 시:
1
2
3
4
git clone https://github.com/username/repo.git
Username: your-username
Password: ghp_your_token_here
또는 URL에 포함 (비권장):
1
2
# 비권장 (기록에 남음)
git clone https://ghp_token@github.com/username/repo.git
Token 저장하기 (Git Credential)
Linux/Mac:
1
2
3
4
5
# 영구 저장
git config --global credential.helper store
# 캐시 (15분)
git config --global credential.helper cache
Windows:
1
2
# Windows Credential Manager 사용
git config --global credential.helper wincred
첫 사용 시:
1
2
3
4
5
git push
Username: your-username
Password: ghp_your_token_here
→ 저장됨! 다음부터는 자동 입력
Token 보안 수칙
DO (해야 할 것):
1
2
3
4
5
✅ 비밀번호 관리자에 저장
✅ 용도별로 다른 Token 생성
✅ 최소 권한만 부여
✅ 정기적으로 갱신
✅ 사용하지 않는 Token 삭제
DON’T (하지 말아야 할 것):
1
2
3
4
5
❌ 코드에 Token 하드코딩
❌ GitHub Repository에 업로드
❌ 공개 포럼에 공유
❌ 스크린샷에 포함
❌ 만료 기간 없이 생성
Token이 노출되었다면?
즉시 조치:
1
2
3
4
1. Settings → Developer settings
2. Personal access tokens
3. 해당 Token 옆 "Delete" 클릭
4. 새 Token 생성
GitHub의 자동 감지:
1
2
3
4
Repository에 Token 업로드 시
→ GitHub가 자동으로 감지
→ 즉시 Token 무효화
→ 이메일 알림 발송
Token 관리하기
활성 Token 확인:
1
2
Settings → Developer settings → Personal access tokens
→ 생성한 Token 목록 확인
각 Token 정보:
- Note (이름)
- Scopes (권한)
- Last used (마지막 사용)
- Created (생성일)
- Expires (만료일)
정기 점검 (월 1회 권장):
1
2
3
1. 사용하지 않는 Token 삭제
2. 만료 임박 Token 갱신
3. 권한 재검토
정리
완료 체크:
- Personal Access Token의 개념을 이해했다
- Token을 생성했다
- Token을 안전한 곳에 저장했다
- Git에서 Token을 사용해봤다
- Token 보안 수칙을 숙지했다
중요: Token은 비밀번호와 동일하게 취급하세요!
다음: Day 9 - SSH 키 설정 →
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.
