Search

WSL에 Github PAT 저장해서 사용하기

PublishDate
2023/04/27
Category
Git
Github
WSL
Tag & Keyword
PAT
WSL2
Credential

1. 서론

Github에는 기본적으로 HTTPS, SSH, GitHub CLI 등의 방식으로 Github 외부에서의 접근 방법을 제공하는데 나는 보통 HTTPS 방식을 사용한다.
git 명령어로 Public Repository에 접근할 땐 자격증명이 별도로 필요하지 않지만, Private Repository에 접근할 땐 자격증명이 등록되어있지 않으면 매번 자격증명을 묻는다.
Organization을 사용하면 기본적으로 private repo를 많이 사용하기 때문에 Github 계정을 등록해놓고 사용한다. 비밀번호는 Password나 PAT (Personal Access Token)을 사용할 수 있는데, 나는 PAT를 사용한다.
PAT를 사용하는 이유는 다음과 같다.
password와 달리 expire date를 강제할 수 있다.
MFA가 적용되어 있는 경우 password로 git의 자격증명을 완료할 수 없다.
Password나 PAT 상관없이 다음 방법이 유효하게 작동하지만, 개인적으로는 적당한 기간으로 설정된 PAT 사용을 추천한다.
그럼 WSL에 Github 자격증명을 등록하고 매번 Username/Password를 묻지 않도록 설정해보자. (Git은 이미 설치되어 있다고 가정합니다.)

2. 첫 번째 방법

1.
~/.git-credentials 파일을 생성하고 아래 내용을 입력한다.
https://[Username]:[PAT]@github.com
Shell
복사
2.
바로 자격증명 적용됨!
3.
하지만 평문으로 PAT가 저장되기 때문에 비추천한다.

3. 두 번째 방법

Windows에 Git이 설치되어 있다면 Windows용으로 제공하는 git-credential-manager를 WSL에서도 사용할 수 있다.
1.
windows의 자격 증명 관리자에 Github 정보를 입력한다. 기존 값이 없으면 두 번째 캡처와 같이 설정하자.
2.
C:\Program Files\Git\mingw64\bin 경로에 둘 중 어떤 파일이 있는지 확인한 후에 다음 명령어 중 하나를 입력한다.
# git-credential-manager.exe 파일이 존재하는 경우 git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/bin/git-credential-manager.exe" # git-credential-manager-core.exe 파일이 존재하는 경우 git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/bin/git-credential-manager-core.exe"
Shell
복사
3.
바로 자격증명 적용됨!
4.
PAT 값이 암호화되어 저장되기 때문에 노출 걱정도 없다.