본문 바로가기
320x100
320x100

 

문제상황

종종 git clone / pull / push 등을 할때 아래와 같은 에러를 마주할 때가 있다(특히 private repo)

remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access 'https://github.com ... ': The requested URL returned error: 403

 

id/pw방식의 authentication은 현재 권고되지 않는다. 난 계속 토큰과 함께 썼기 때문에 현재도 이 방식이 작동하는지는 모르겠다

 

해결방법

일단 문제가 발생한 요청 CLI, 해결하기 위한 CLI를 알아보자

  • as-is
git clone https://github.com/nobody/kotlin-study.git
  • to-be
git clone https://발급받은토큰@github.com/nobody/kotlin-study.git

git clone https://ghp_n...@github.com/nobody/kotlin-study.git

 

혹시라도 github token이 없는 분들이라면 

아래의 사이트로 접속해서 깃허브 토큰을 생성할 수 있다

https://github.com/settings/tokens

 

GitHub · Build and ship software on a single, collaborative platform

Join the world's most widely adopted, AI-powered developer platform where millions of developers, businesses, and the largest open source community build software that advances humanity.

github.com

깃허브 토큰을 발급받을 때는 permission등을 설정해야하는데, 이 부분에 대한 것은 다른 블로그를 참고해보자! :)

 

좀 더 편하게 사용하자

  • 현재 시스템에서 사용중인 쉘 찾기(bash shell, zsh shell, etc...)
echo $0

z shell

  • 쉘 설정파일을 찾아보자(숨김파일)
    • bash shell -> .bashrc
    • z shell -> .zshrc
 ls -lah | grep "rc"

shell config

-> 필자의 경우 z shell을 사용하고 있으므로 .zshrc를 수정하면 된다

  • vi 편집기로 숨겨진 설정파일을 열어서 변수로 추가하자
    • 편집기에서 맨 아래로 이동하기 : Shift + G(영어입력인 상태에서)
    • 편집모드 i 변경
    • 맨 아랫줄에 export MY_GH_TOKEN="토큰" (optional: 한 줄 위에 # 주석으로 어떤 변수인지 표시)
    • 편집 후 esc :wq (저장하고 나가기)
vi ~/.zshrc

~ 경로에 있는 z shell config 수정

  • 편집내용 적용
source ~/.zshrc
  • 변수 출력
echo $MY_GH_TOKEN

변수 출력

나는 개인정보 보호를 위해 맨 뒷 자리 5개만 짤라서 출력해봤다

  • 최종 테스트
git clone https://${쉘에서 지정한 깃헙토큰변수명}@github.com/{계정}/{깃허브 프로젝트명}.git

# 아래는 예시
git clone https://${BOKI_GITHUB_TOKEN}@github.com/nobody/noname.git

성공

만약 토큰이 빠진채로 pull받는다면?

실패

private repo를 pull받지 못한다

 

[ Windows는 토큰을 환경 변수로 등록하면 사용할 수 있다고 한다 ]

 

- 출처

https://github.blog/security/application-security/token-authentication-requirements-for-git-operations/

 

Token authentication requirements for Git operations

Beginning August 13th, 2021, we will no longer accept account passwords when authenticating Git operations on GitHub.com.

github.blog

https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens

 

Managing your personal access tokens - GitHub Docs

You can use a personal access token in place of a password when authenticating to GitHub in the command line or with the API.

docs.github.com

 

 

댓글