Password authentication is temporarily disabled as part of a brownout. Please use a personal access token instead.

gon Kim
elecle
Published in
8 min readJun 30, 2021

2021년 8월 13일부터 GitHub cli에서 기존 password방식의 인증을 지원하지 않고, token 방식을 통한 인증이 필수가 됩니다.

remote: Password authentication is temporarily disabled as part of a brownout. Please use a personal access token instead.
remote: Please see https://github.blog/2020-07-30-token-authentication-requirements-for-api-and-git-operations/ for more information.
fatal: unable to access ‘https://github.com/{operation/team}/{repository}.git/': The requested URL returned error: 403

TL; DR;

  • github 계정에서 적절한 권한을 가진 토큰을 생성하세요.(최초 생성 이후 동일한 token에 접근할 수 없기 때문에 생성하고 즉시 복사하거나, 이후 저장 과정에서 생성하여 사용하세요)
  • https프로토콜로 github과 통신한다면, 토큰을 저장할 수 있고, 이를위해 os에 맞는 어플리케이션을 통해 토큰을 저장하세요(mac의 경우 osxkeychain, 키체인 접근 앱을 이용합니다)
  • mac os의 경우 키체인접근 앱을 통해 저장된 토큰을 확인할 수 있습니다. 이 때, 기존에 존재하는 github.com, https 키체인을 지우고 새롭게 설정해야 합니다. 하단 가이드를 통해 cli 상에서 github 키체인을 지우고, 키체인 접근의 생성 아이콘을 통해 https://github.com 과 github ID, 암호로 위에서 발급받은 토큰을 입력하세요.

6월의 마지막날.. 할당된 스프린트 태스크를 마무리하고 평화롭게 업무를 정리하던 차, git push명령어가 먹히지 않는다는 소식을 접했습니다. 으레 발생하는 github 오류겠거니(????) 하며 친절하게 설명해주는 shell을 무시한 채로.. 깃헙이 또 죽었다~ 하며 안타까운 마음으로 개발팀에게 소식을 전파했습니다.

github 서버 멈췄대.. 안타깝다.. ㅎㅎ… 야호..

그런데 https://www.githubstatus.com/에서 확인한 깃헙 서버 상태는 너무나도 정상이었고, 정신을 차리고 출력되는 메세지를 살펴보니, 위와 같은 메세지가 출력되고 있는 것이었습니다!

앗.. 아아.. github은.. 정상이라고??

Password authentication is temporarily disabled as part of a brownout. Please use a personal access token instead.

출력된 메세지는 일시적인 brownout으로 (기존의) ID/Password를 통한 인증 방식이 비활성화 되었으니 personal access token을 사용하라는 지시였습니다. 함께 제공한 링크에는 보다 더 자세한 설명이 되어있었습니다. 이를 요약하면(공지 1번)

  1. 보안강화
  2. Git Api, operation에 personal access token 방식 필수화
  3. 점진적으로 도입되어 2021년 중반에 token을 Git operation에 필수 적용

입니다.

그런데… (역시 개발자 문서 답게) personal access token을 어떻게 적용해야 하는지… 좀 더 친절하게 설명을 해주면 좋을 것 같은데… 왜 하필 지금 이게 끊겼는지.. 알 수가 없었습니다.

출력된 메세지를 다시 검색해본 결과 2020년 12월 15일에 업로드 된 GitHub Blog의 글을 확인할 수 있었습니다.(공지2번)

  1. 예고된 대로 보안을 강화하여 token을 이용한 인증의 이점을 가져가고 있다.
  2. 서비스 일시 중단(Brownout)을 예고된 시간에 진행한다.
  3. 2021년 8월 13일에는 token 인증이 필수화된다

서비스 일시 중단이 예고된 시간에 Git cli를 이용하여 github에 접속하던 중 오류 메세지를 받게 된 것입니다.

(7월에도 예고되어 있어요~)

June 30, 2021

July 28, 2021

이를 통해, 6월 30일 오후 6시(KST) 현재 작업이 불가능한 이유를 확인할 수 있었고, 어차피 8월 13일부터 기존의 username/password 방식의 로그인을 지원하지 않기 때문에 변경되는 token 기반 인증을 적용해놓기로 하고 문서를 찾아보았습니다.

token 인증을 적용하는 방식은 맨 윗 부분에 정리했습니다.

repository 단위로 credential을 관리하거나, 3rd party git app에서 변경된 인 증 방식에 대한 안내를 해준다면, keychain을 용이하게 변경할 수 있지만, 일반적으로 손쉽게 사용하는 global한 credential 관리 방식에서 변경된 token 기반 인증을 적용하는 방식을 주제로 가볍게 글을 적어보았습니다. 갑작스럽게 마주하게된 인증 방식의 변경, 이에 대한 안내를 확인하면서 느낀점을 정리하며 마무리해보겠습니다.

  1. 1년 전에 타임라인을 그리고, (최소) 6개월 전에 세부적인 작업 계획을 세워 실행하고 있다.
  2. 실제 적용을 점진적으로 진행하였다. (이틀 간의 중단 시간 동안 이용자들에게 약간의 불편을 의도적으로 발생시켜 인식하게 하고 변경사항을 먼저 적용할 수 있도록 의도한 것 같다.)
  3. 다만, 미리 계획된 작업에 대해 기 작성된 내용(공지 1번) 보다는 현재 작업이 시작되었다는 내용을 담은 최신 안내 내용(공지 2번)을 통해 6월 30일 현재 작동하지 않는 상황을 명확하게 파악할 수 있었으면 좋았을 것같다.
  4. 추가적으로 변경사항에 대한안내와 함께 git이 작동되지 않는 긴급한 상황을 마주한 개발자들에게 personal access token을 적용하는 방식까지 함께 제공하면 좋았을 것이다.

--

--