GitHub 원격 저장소에 코드를 push하거나 패키지를 pull할 때, 기존의 계정 비밀번호를 그대로 입력하면 인증 에러를 마주하게 됩니다. 깃허브는 보안 강화를 위해 일반 비밀번호 대신 개인 액세스 토큰(Personal Access Token, PAT) 사용을 의무화했기 때문입니다.
토큰은 터미널에서 Git 명령어를 실행하거나 외부 API를 호출할 때 비밀번호를 대체하는 안전한 인증 수단입니다. 발급받은 문자열은 생성 직후 단 한 번만 화면에 표시되므로, 유실되기 전에 발급 절차와 보관 방식을 확실하게 숙지하고 적용해야 안전하게 버전을 관리할 수 있습니다.
깃허브 개인 액세스 토큰 발급 6단계 상세 절차
GitHub 공식 웹사이트에서 제공하는 개인 액세스 토큰 발급 메뉴는 계정 설정 내부 깊숙한 곳에 위치해 있습니다. 처음 발급을 진행하는 개발자분들도 헷갈리지 않고 한 번에 생성할 수 있도록 명확한 단계별 이동 경로를 안내해 드립니다.
🔉 1. 깃허브 계정 설정 및 개발자 메뉴 이동 경로
GitHub 홈페이지에 로그인한 후, 우측 상단에 있는 본인의 프로필 사진을 클릭합니다. 드롭다운 메뉴가 나타나면 아래쪽에 위치한 Settings 메뉴를 선택하여 계정 설정 페이지로 진입합니다.
설정 페이지로 이동한 뒤 왼쪽 사이드바 메뉴를 최하단까지 스크롤하면 나타나는 Developer settings를 클릭합니다. 이 메뉴가 개발자 자격 증명과 오픈소스 연동 토큰을 관리하는 핵심 제어 센터입니다.
🔉 2. 개인 액세스 토큰 Classic 메뉴 선택 및 생성 시작
Developer settings 페이지 진입 후 왼쪽 메뉴에서 Personal access tokens를 클릭하여 하위 탭을 확장합니다. 세분화된 fine-grained 토큰 방식과 기존의 classic 방식 중, 터미널 환경 호환성이 높은 Tokens (classic)를 선택합니다.
오른쪽 상단에 활성화되는 Generate new token 버튼을 누른 뒤, 하위 메뉴인 Generate new token (classic)을 최종 클릭하여 세부 옵션 설정 화면으로 진입합니다.
📸 [여기에 관련 이미지 삽입 - GitHub 개발자 설정(Developer settings) 내 Tokens (classic) 진입 단계 및 발급 버튼 위치 화면 캡처]
토큰 세부 옵션 설정과 권한 부여 및 안전 보관 규칙
토큰을 생성할 때는 사용 목적에 맞는 명확한 이름과 만료일, 그리고 접근할 수 있는 저장소의 권한 범위를 명확하게 지정해 주어야 합니다. 잘못된 권한 설정은 터미널 인증 거부의 원인이 됩니다.
🔉 3. 토큰 식별 이름 Note 작성과 Expiration 만료일 지정 방법
토큰 설정 화면 가장 상단의 Note 입력 칸에는 해당 토큰의 용도를 식별할 수 있는 직관적인 이름을 적어줍니다. 예를 들어 'Office-Laptop-Git'이나 'Home-PC-PAT'처럼 기기나 프로젝트명을 적어두면 나중에 관리하기 편리합니다.
Expiration 항목은 토큰의 유효 기간을 결정하는 만료일 설정입니다. 깃허브 보안 가이드라인에서는 자격 증명 유출 피해를 최소화하기 위해 만료 기한을 가급적 짧게(예: 30일 또는 60일) 지정하여 사용하는 것을 강력히 권장합니다.
🔉 4. repo 접근 범위 Scopes 체크 및 토큰 최종 생성과 보관
Scopes 항목은 토큰에 부여할 권한을 선택하는 구간입니다. 일반적인 터미널 환경에서 원격 레포지토리의 clone, push, pull 작업을 수행하는 것이 목적이라면 반드시 최상단의 repo 권한 체크박스에 체크해야 합니다.
설정을 마치고 하단의 Generate token을 누르면 영문과 숫자가 조합된 긴 토큰 문자열이 발급됩니다. 이 토큰 값은 창을 닫거나 다른 페이지로 이동하면 다시는 화면에 표시되지 않으므로, 발급 즉시 안전한 텍스트 파일이나 메모장에 복사하여 저장해 두어야 합니다.
📸 [여기에 관련 이미지 삽입 - 토큰 옵션 설정 창에서 Note 입력, Expiration 30일 설정, repo 권한 체크박스 선택 영역 강조 안내 이미지]
터미널 및 로컬 환경에서 발급된 토큰 사용법
인증 토큰 발급이 완료되었다면 이를 실제 로컬 컴퓨터의 터미널 창에서 연동하여 커밋된 코드를 push할 때 사용해야 합니다. 대표적인 연동 방식 두 가지를 설명해 드리겠습니다.
🔉 5. git push 실행 시 패스워드 프롬프트 입력 방식
로컬 저장소에서 소스코드를 수정하고 git push 명령어를 입력하면 터미널 창에 사용자 이름과 패스워드를 요구하는 프롬프트가 차례대로 나타납니다.
Username 프롬프트에는 본인의 GitHub 사용자명을 입력하고, Password 프롬프트가 나왔을 때 기존 계정 비밀번호가 아닌 방금 발급받아 복사해 둔 토큰 문자열을 그대로 붙여넣기 하시면 정상적으로 인증이 완료됩니다.
🔉 6. 원격 URL 변경 및 토큰 영구 포함 매핑 방식
매번 푸시를 보낼 때마다 긴 토큰 값을 입력하는 번거로움을 줄이고 싶다면, 원격 저장소 주소(Remote URL) 자체에 토큰을 포함시켜 등록하는 방식을 사용할 수 있습니다.
git remote set-url origin https://<발급된토큰값>@[github.com/](https://github.com/)<유저네임>/<레포지토리명>.git 주소 형식으로 터미널에 명령어를 입력하여 등록해 두면, 이후부터는 패스워드를 묻는 별도의 인증 절차 없이 즉시 push와 pull 처리가 원활하게 수행됩니다.
자주 묻는 질문
Q1. 발급받은 토큰 문자열을 분실했는데 다시 확인할 방법은 없나요?
A1. 보안 원칙상 GitHub 시스템 내에서도 한 번 노출된 토큰 값은 다시 보여주지 않습니다. 만약 토큰 값을 복사해 두지 않은 상태에서 페이지를 벗어났다면, 기존 토큰을 삭제(Delete)하고 동일한 권한으로 토큰을 재발급(Regenerate token)받아 사용하셔야 합니다.
Q2. 터미널 인증 시 Username과 Password를 매번 입력하지 않게 설정할 수 있나요?
A2. 네, 원격 URL에 토큰을 직접 내포시키는 명령어를 실행하여 등록해 두면 됩니다. 로컬 저장소 터미널에서 git remote set-url origin https://<토큰값>@[github.com/](https://github.com/)<계정명>/<저장소명>.git 명령을 실행해 두면 이후 별도의 자격 증명 요구 없이 즉시 동기화가 진행됩니다.
Q3. 토큰 만료일이 지나면 기존에 연결된 로컬 저장소 작업은 어떻게 되나요?
A3. 지정한 만료일이 지나면 해당 토큰의 인증 효력이 상실되므로 터미널에서 push나 pull을 시도할 때 인증 에러(401 Unauthorized)가 발생합니다. 이 경우 깃허브 웹사이트에 접속하여 만료된 토큰을 연장하거나 새 토큰을 발급받아 로컬 환경의 패스워드 설정을 갱신해 주어야 합니다.
0 댓글