Github Token Authentication

업데이트: Link

Github Token Authentication

2021년 8월 14일 아침. 아무 생각 없이 터미널을 띄워 놓고 git pull 명령을 입력했다. 그러자 “두둥! 탁!”

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/me/me.blog.git/': The requested URL returned error: 403  
k1005@k1005-iMac me.blog %   

이와 같은 오류 메시지만을 남기며 명령이 종료 되었다.

이와 같은 일은 사실 이미 예견된 일이었다. 깃헙에서 이미 몇번이나 메일을 통해 경고 했었던 내용이다. 다만 “English”로 된 메일이 왔었을 뿐이다.

YOU RECENTLY USED A PASSWORD TO ACCESS THE REPOSITORY AT GEOSEONG/GEOSEONG.GITHUB.IO WITH GIT USING GIT/2.24.3 (APPLE GIT-128).

Basic authentication using a password to Git is deprecated and will soon no longer work. Visit https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information around suggested workarounds and removal dates.

2021년 8월 13일 부로 깃헙에서 Git 작업을 인증 할 때 더 이상 계정 암호를 허용하지 않으며, token-based authentication이 필요하다.
그리고 two-factor authentication을 이미 사용중인 사람이라면 해당 인증 절차 공지사항에 해당이 되지 않는단다

발생되는 문제들

위의 내용을 보면 어쨌든 공지된 웹사이트에 들어가서 확인해 보면 뭐가 어찌 된건지 어찌해야 할지 알 수 있을 것이다. 그렇게 들어가서 보자니 아래의 방법으로 하는 깃헙 계정 연동에 문제가 발생한다.

  • 커맨드 라인
  • Git을 이용하는 데스크탑 어플리케이션
  • GitHub 데스크탑 어플리케이션은 제외
  • GitHub.com 계정에 패스워드로 바로 접속하는 모든 앱과 서비스들

보안을 강화 하기 위한 것이라고 하는데 글쎄… 어찌 되었든 우리는 문제가 발생했고 해결해야 한다. 위의 페이지에서 알려 주었던 방법을 따라 문제를 해결해 보자.

Personal access token 생성

기존의 패스워드 대신 일종의 인증키를 만들어 사용하라고 한다. 갯헙에서 만든 그 인증키를 Personal access token 이라 부른다.
그리고 해당 인증키는 1년간 사용하지 않으면 자동으로 폐기 된다고 한다.

  1. 우선 브라우저를 열어 깃헙 웹사이트에 접속해 보자. 로그인을 하면 우측 상단에 작은 아이콘들이 보인다. 그중에 user-icon 을 클릭해 보자.
    user-menu|50%
  2. 위 이미지에서 선택된 것 처럼 Settings 메뉴를 선택해서 해당 페이지로 들어가 보자.
    developer-setting
    그리고 Settings 페이지의 왼쪽에 있는 메뉴 중에서 Developer settings 메뉴로 들어가 보자.
  3. 드디어 몇 단계를 거친 끝에 Personal access token 메뉴가 짜잔!
    personal-access-token-menu
  4. Personal access tokens 헤드라인 우측에 보이는 Generate new token 버튼을 클릭하고, Github 에서 비밀번호를 한번 더 입력하라고 하는데, 입력 해 준다
  5. 토큰명을 입력한다.
  6. 여러 항목중 허용하고자 하는 역할만 체크 한 후 Generate token 버튼을 누른다.
    github-personal-access-token-scopes
  7. 생성된 토큰을 복사하여 사용하고자 하는 곳에서 password 대신 사용한다.
    github-personal-access-token-sample

tip 생성된 토큰은 처음 생성했을 때에만 복사를 허락하고 그 후로는 보여지지 않기 때문에 바로 사용할 것이 아니라면 복사하여 잘 보관해 두어야 한다.

Git config

이제 위에서 생성한 토큰으로 기존의 패스워드를 대체해야 한다.
대체하는 방법은 간단히 기존의 user 정보를 삭제하고 재 생성하는 것이다. 아래의 명령으로 기존 정보를 삭제할 수 있다.

git config --unset credential.helper

이후 git push 와 같은 명령을 사용하게 되면 Username, Password 정보를 입력하라는 내용이 나오고 이때 기존 password 대신 토큰을 사용하면 된다.

git push
Username for 'https://github.com': MyUsername
Password for 'https://MyUsername@github.com': PersonalAccessToken

마무리

깃헙에서는 2단계 인증을 통해 보안을 강화하라고 한다. 그것은 개인정보의 안전을 위함이며 그것이 조금 귀찮더라도 우리의 계정을 지키는데 도움이 될 것이라고 한다.

이제 two-factor authentication을 사용하거나 Personal-access-token을 사용하거나… 선택은 당신의 몫!

댓글남기기