문제 상황
Github repository에 접근을 할 때 올바른 아이디와 비밀번호를 입력했음에도 에러가 발생하며 다음과 같은 메시지를 출력
Pushing to https://github.com/XXX/XXX.git
remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/XXX/XXX.git/'
In a case you entered incorrect password, please
update it in Keychain Access application.
문제 원인
Github의 인증 방식이 변경 되었기 때문에 발생하는 문제. 에러 로그에 설명된 바와 같이 2021년 8월 13일을 기준으로 아이디, 패스워드 방식의 인증 방식이 폐기 되었다.
해결 방법
기존에는 repository에 push나 pull을 할 때 다음과 같이 계정 정보를 입력했다면
ID : 사용자의 Github Username
PW : 사용자의 Github 패스워드
변경 이후에는 다음과 같이 로그인을 하게 되었다.
ID : 사용자의 Github Username
PW : Github Username 계정에서 발급받은 Personal access token 값
그렇다면 이 Personal access token은 어떻게 발급 받을 수 있을까?
다음 절차를 통해 쉽게 발급 받을 수 있다.
Personal access token 발급 방법
1. 계정으로 로그인한 뒤 Settings 페이지로 들어간다.
2. 왼쪽 메뉴 항목들 중, 최하단의 Developer settings를 클릭한다.
3. 왼쪽 메뉴 항목 중 Personal access tokens > Tokens (classic)을 클릭한 뒤 Generate new token (classic)을 클릭한다.
4. 뭔가 선택을 할 것들이 잔뜩 있는 페이지가 보이게 된다. 적당한 이름을 입력한 뒤 기호에 맞게 체크한다. 만일 혼자 관리하는 계정일 경우 Expiration을 No expiration으로 설정하고 Select scopes의 모든 것들을 체크해도 문제 없다. 그러나 여러 사람들이 접근하는 계정일 경우 상황에 맞게 값들을 설정해주는게 좋다.
5. 모든 설정이 끝나면 아래와 같은 창이 출력된다. 이 때 출력되는 값은 지금 한 번만 볼 수 있으니 반드시 다른 곳에 메모해 놓도록 한다. 그렇다고 겁먹을 필요는 없다. 이 토큰을 잃어버린다고 해서 본 계정의 모든 repository에 접근하지 못하게 되는 그런 불상사는 일어나지 않는다. 만일 이 토큰을 잃어버렸다면 조금 귀찮겠지만 새로 발급해서 다시 접근하면 된다.
6. 이렇게 생성한 토큰값을 계정의 비밀번호 대신에 입력하여 push, pull 등을 수행할 경우 정상적으로 진행 되는 것을 볼 수 있다.