코딩스토리

Git 오류 - "remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead." 본문

기타 이슈

Git 오류 - "remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead."

kimtaehyun98 2021. 8. 14. 20:49

어제까지 잘 되던 push가 갑자기 Error를 터트린다!

 

Error 전문

 

해석해보자면

비밀번호 인증 지원은 2021년 8월 13일에 제거되었습니다. 대신 개인 액세스 토큰을 사용하세요.

 

갑자기??

 

사실 갑자기라고 할 수 없는 게 Git에서는 이미 여러 번 메일을 보내 알려왔었다.

해당 메일은 3월, 7월에 날라왔었다..

그저 우리가 확인하지 않았던 것이었다..

 

왜 이런 상황이 발생했는지 간단하게 설명하자면

비밀번호 인증은 보안 이슈가 많아서 토큰 인증 방식으로 바꿨어요! 이다. 

아래는 관련 링크이다.

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

자세한 내용이 궁금하다면 확인해보면 좋을 것 같다.

 

그럼 이 변경이 우리에게 무슨 영향을 끼치는가?

 

여기서부터 핵심이다.

 

원래라면 local에서 push 할 때마다 사용자 인증을 해야 한다. 

우리가 처음 Git을 깔았던 때로 돌아가 보자. 

분명 push 할 때 username과 password를 입력했었다.

하지만 이 귀찮음을 없애고자 대부분의 사람들(백퍼센트라고 봅니다)은 사용자 정보를 저장함으로써 매번 사용자 인증을 하지 않아도 되게 되었고, 새까맣게 까먹었을 것이다.

 

그럼 뭐가 문제인가?

이 인증 방법이 바뀌었다는 것이다.

기존처럼 비밀번호를 입력해서는 사용자 인증이 되지 않는다는 것이다.

 

그렇기 때문에 나처럼 옛날 옛적에 인증해놓고 써왔던 사람들은 전부 위와 같은 오류를 내며 push가 불가능하게 되었다.

 

그럼 지금부터 해결 방법을 알아보자.

 

1. GitHub Personal Access Token 생성

 

1) GitHub 우측 상단의 Settings 선택

2) 좌측 하단의 Developer Settings 선택

3) Personal access tokens 선택 후 Generate new token 선택

4) Token 생성 (일반적인 경우 Repo만 선택, 필요한 경우 추가 옵션 선택하기)

이때 반드시 생성되는 토큰을 메모장에 저장해놓아야 한다!!!

(다시는 확인할 수 없음! 까먹었으면 깔끔하게 다시 만들자.)

 

2. 내 local 환경 인증 초기화

사실 여기서부터가 진짜다.

 

먼저 현재는 기존의 Password로 인증이 되어 있기 때문에 아무리 열심히 push 해도 Error가 난다.

따라서 인증을 초기화시켜야 한다.

 

1) 명령 프롬프트 실행 (이때 반드시 관리자 권한으로 실행!!!)

 

아래의 명령어 입력 시 인증이 초기화된다.

git config --system --unset credential.helper
git config --global --unset credential.helper

(웬만하면 global로 해보고 안되면 system, global 순으로 시도) 

(해당 폴더로 가서 실행하는게 제일 깔끔하다.)

 

3. 권한 인증

 

이제 원래 하려고 했던 push를 진행해보자.

이때 주의할 점은 Password 대신 위에서 발급받은 Token을 입력해야 한다.

 

성공적으로 Push가 된다!

 

하지만 이 Token을 매 push마다 적으려면 벌써부터 머리가 아프다.

따라서 이 권한 인증을 앞으로도 기억하게 하려면 아래 명령어를 입력해야 한다.

git config --global credential.helper store

(명령 프롬프트 관리자 권한으로 실행 후 해당 폴더로 찾아가서 해야 합니다!)

 

 

# 내가 아직 해결하지 못한 부분

- Token을 교체하고 싶은데 잘 안됨.. (현재 두 개의 토큰을 생성해서 해봤는데 먼저 생성한 토큰은 pw 대신 입력이 가능한데 나중에 생성된 두 번째 토큰은 PW 에러가 남..)

- Toekn 인증 기간이 끝나면 어떻게 되는 건지 아직 확인해보지 못함 (차후 업로드 예정)

 

 

 

Comments