본문 바로가기
Issues

GitHub | Authentication failed 해결과 토큰 발급 방법

by YIAN 2022. 1. 10.

 

 

🎯 상황 (Context)

 

macOS에서 GitHub Repo를 클론해서 사용하려고 Username과 Password를 입력했는데, 다음과 같이 에러가 발생합니다.

 

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: Authentication failed for '%s'

 

 

👀 문제점 (Problem or Idea)

 

에러메시지에 적혀있는 URL로 이동해보겠습니다. URL은 다음과 같습니다.

 

https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/

 

Token authentication requirements for Git operations | The GitHub Blog

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

github.blog

 

위 URL을 들어가 보시면 이런 내용이 나와 있습니다. 2021년 8월 13일부터 Git 작업을 인증할 때 계정 비밀번호를 더 이상 받지 않습니다. GitHub.com에서 인증된 모든 Git 작업에 대해 개인 접속 토큰(개발자용)이나 OAuth 또는 GitHub App 설치 토큰(통합자용)과 같은 토큰 기반 인증을 사용하도록 요구할 예정이라고 합니다.

 

 

🎭 해결방안 (Solutions or Next step)

 

Password를 입력할 때 사용자의 비밀번호가 아닌 토큰값을 입력해야 합니다. 토큰을 발급해 보겠습니다.

 

1. GitHub 사이트로 이동

GitHub (https://github.com) 사이트로 이동합니다.

 

GitHub: Where the world builds software

GitHub is where over 73 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and feat...

github.com

 

2. [Settings] > [Developer settings] > [Personal access tokens] 버튼 클릭하여 이동

 

깃허브 사이트로 이동했다면 화면의 맨 오른쪽 상단에 위치한 프로필 사진을 눌러주세요. 그러면 메뉴 리스트가 등장하는데, [Settings] 버튼을 클릭하면 됩니다. 그다음부터 자세한 내용은 하단의 이미지와 설명을 참고해 주세요.

 

1) [Settings] 클릭 2) [Developer settings] 클릭 3) [Personal access tokens] 클릭

 

3. [Generate new token] 클릭

 

GitHub의 [Personal access tokens] 화면입니다. 기존에 사용했었던 토큰이 있었다면 여기서 확인을 하실 수 있는데요, 2021년 8월 13일 이전에 생성된 대부분의 토큰은 새로 발급해야 하는 형태로 노출되고 있습니다. [Generate new token] 버튼을 눌러서 새로 토큰을 발급받아보겠습니다.

 

 

4. 토큰 발급

 

본인 확인을 위한 비밀번호 입력이 있습니다. Password를 입력하신 뒤, [Confirm password] 버튼을 클릭해 주세요.

 

 

그러면 다음과 같은 화면이 나옵니다.

 

 

해당 화면에서 설정해야 할 항목은 3가지입니다. Note, Expiration, Select scopes인데요, 하나씩 살펴보겠습니다. 참고로, 하단에서 제가 설정했던 것은 기본 옵션만 설정한 것이니 참고 부탁드립니다.

 

 

Note

3번에서 보셨던 것처럼, 리스트에 노출되는 이름입니다. 저는 다음과 같이 설정했습니다. 형식은 자유입니다.

 

 

Expiration

다음과 같이 토큰을 발급받을 수 있는 기한을 설정할 수 있습니다. 

 

 

저는 일회성으로 필요하기 때문에, 7일로 설정하겠습니다.

 

 

Select scopes

발급하려는 토큰에 접근할 수 있는 범위를 지정할 수 있습니다. 저는 [repo] 전체만 주겠습니다.

 

 

설정이 끝났다면 [Generate token] 버튼을 클릭해 주세요.

 

 

녹색 칸에 토큰값이 나올 텐데요, 빨간색 네모 칸에 있는 아이콘 버튼을 누르면 자동으로 복사(Copied!)가 됩니다. 아이콘을 클릭해 주세요.

 

5. 토큰값으로 비밀번호 입력하기

 

바로 위에서 발급받은 토큰값이 꼭 필요하니, 어딘가에 적어두거나 복사된 상태로 터미널을 켜주세요. 저는 iTerm2를 사용했습니다.

 

$ git clone https://github.com/username/repo.git
Username: your_username
Password: your_token
  • username: 복제하려는 Repo 주소 중 사용자 ID를 입력해 주세요.
  • repo: 복제하려는 Repo 이름을 입력해 주세요.
  • your_username: 본인 GitHub ID를 입력해 주세요.
  • your_token: 4번에서 복사한 토큰값을 붙여넣어 주세요.

 

다음과 같이 뜬다면 인증이 완료된 것입니다. 여기까지가 끝입니다. 고생하셨습니다.

 

 

🤗 회고 (Retrospective)

 

토큰을 발급하는 방법은 비교적 쉬운 내용인데, 메뉴 어디에 있는지 찾기 종종 어려울 때가 있습니다. 블로그 포스팅으로 기록을 남긴답시고 본 글을 작성하느라 오래 걸렸습니다. 공식문서를 참고하면서 정리했는데, 자세한 내용은 하단의 참고자료를 참고하시면 좋을 듯합니다.

 

 

👟 참고자료 (References)

 

 

댓글