본문 바로가기
오늘은 뭘 배울까?/삽질 기록

GitHub 토큰 인증 로그인 : support for password authentication was removed

by Kim Juhwan 2021. 8. 21.

1. 사건 배경
2. 원인
3. 해결 방법
   3-1. 토큰 생성
   3-2. 자격 증명 설정
   3-3. 토큰 사용
4. TMI

 

 

 


 

 

1. 사건 배경

깃허브 아이디와 비밀번호를 입력하는 창

 

분명 eclipse를 통한 git push를 잘 사용하고 있었는데 오늘 사용하려 했더니 계속 인증 실패가 떴다.

내가 브라우저 자동 로그인을 해놔서 아이디랑 비밀번호를 까먹었나?

그래서 브라우저로 로그인해봤는데 잘만된다. 이클립스에서만 로그인이 안된다.

 

 

계속 connect 할 수 없다고만 한다.

 

Can't connect to any URI:

~~ not authorized

연결할 수 없습니다. 인증되지 않았습니다.

이런 에러창만 보여주고 정확히 뭐가 문제인지도 모르겠고 해결책도 안 알려주니 미치고 팔짝 뛸 노릇

 

 

2. 원인

https://github.blog/changelog/2021-08-12-git-password-authentication-is-shutting-down/

"support for password authentication was removed"

"암호 인증에 대한 지원이 제거되었습니다."

 

 

원인부터 바로 말하자면 2021년 8월 13일부로 정책이 바뀌었다.

더 이상 GitHub의 계정 비밀번호로는 인증을 할 수 없다.

push와 같은 git 작업을 아이디와 비밀번호만 가지고는 할 수 없다는 것이다.

(이클립스뿐만 아니라 모든 IDE에서 똑같다)

 

 

https://stackoverflow.com/questions/68775869/support-for-password-authentication-was-removed-please-use-a-personal-access-to

 

스택오버플로우에도 이에 대한 질문들이 올라왔다.

답변들을 읽어보면 "They've been sending warnings about this for at least 6 months."

그들은 최소 6개월 이상 이에 대한 경고를 계속 보내왔다고 한다.

젠장.

나는 왜 몰랐지?

왜긴 왜야 영어로 된 경고 메시지만 보면 보지도 않고 닫아버리니까 그렇지

하... 덕분에 문제 해결한다고 3시간 날리고 내 프로젝트 파일도 하나 날려먹었다. 🤦‍♂️

 

 

3. 해결 방법

3-1. 토큰 생성

GitHub 홈페이지 - Settings

 

더 이상 패스워드로는 GitHub 연동을 할 수 없다.

대신 토큰을 발급받으면 패스워드를 대신해 사용할 수 있다.

GitHub 홈페이지에 들어가 내 프로필을 클릭하고 Settings에 들어가자.

 

 

Developer settings 클릭

 

Developer settings로 들어가 준다.

 

 

Personal access tokens - Generate new Token

 

위 순서에 따라 토큰 생성 페이지로 들어간다.

 

 

토큰 생성 페이지

 

토큰 생성에 필요한 정보를 입력하면 된다.

Note에는 토큰을 왜 생성하는지 뭘 위해 생성하는지 적어주고

Expiration은 만료 날짜. forever를 선택할 수 있지만 극구 말리길래 나는 1년 뒤로 설정했다. 참고로 1년이 최대임

그리고 그 밑에는 토큰에 부여할 권한들을 선택하는 옵션들이다.

나는 나만 사용할 거라 그냥 다 선택했다.

 

 

Generate token 클릭

 

스크롤을 더 밑으로 내리면 Generate token 버튼이 보인다.

클릭하면 토큰이 생성된다.

 

 

토큰이 생성되었다.

 

토큰이 생성되면서 이런 안내 문구가 나온다.

You won't be able to see it again.

넌 이걸 다시 볼 수 없어.

즉, 여러분이 토큰을 볼 수 있는 건 지금 뿐이다.

이후에는 토큰을 다시는 확인할 수 없다.

그러니 꼭 생성된 토큰을 메모장에 옮겨적든 어떻게든 해서 기록해놔야 한다.

 

저 빨간 원에 있는 아이콘을 클릭하면 토큰을 복사할 수 있다.

 

 

 

3-2. 자격 증명 설정

[검색 - 자격 증명 관리자] 혹은 [제어판 - 자격 증명 관리자]

 

자격 증명 설정을 하기 위해 자격 증명 관리자로 들어간다.

 

 

Windows 자격 증명 - 펼치기 - 제거

 

기존에 등록된 github 일반 자격 증명이 있다면 제거해준다.

 

 

 

정보 입력

 

인터넷 또는 네트워크 주소에 git:https://github.com을 입력해주고

사용자 이름은 깃허브 아이디

암호는 깃허브 비밀번호를 입력해준다.

 

 

3-3. 토큰 사용

이젠 Password 대신 token을 입력해준다.

 

발급된 토큰은 패스워드 대신에 입력해주면 예전처럼 인증이 가능하다.

토큰은 외우는 게 불가능하니 꼭 잘 저장해 두자.

그리고 Store in Secure Store 옵션을 체크하면 비밀번호를 다시 되묻지 않으니 체크하자.

 

 

4. TMI

억울해서 적는 TMI.

8월 13일에 수업을 들을 때는 Git 연동이 잘 됐었다.

근데 오늘 갑자기 안돼서 굉장히 당황스러웠고 해결하는 과정에서 프로젝트 하나 날려먹었고

구글링해도 안 먹히는 해결방법만 나오고 (정책이 바뀐 지 일주일밖에 안돼서 키워드를 정확히 검색하지 않으면 잘 안 나옴 ㅠㅠ)

이것도 해결 못하는 난 개발자가 맞나 싶고... 교수님이랑 했을 땐 분명히 잘됐는데...

 

우리나라 8월 13일 오전 오후 시간대면 미국은 이제 막 12일에서 13일로 넘어가는 날

즉 내가 수업 때 Git 연동을 잘 써먹고 수업이 끝나고 난 직후쯤에 새로운 정책이 시작됐던 것 같다.

참 아다리가 맞아도 어떻게 이렇게 맞는지

 

 

개발자 오픈채팅방

 

오픈채팅방에 검색해보니 이미 이에 대한 이야기가 오고 간적이 있었다.

특정 레포는 그냥 그대로 써도 된다는 말도 있다.

 

 

 


💡 느낀 점

  • 앞으로는 경고 메시지를 잘 읽어봐야겠다.
  • 안드로이드 토큰 말고도 잘 보관해둬야 하는 게 하나 더 늘었네... 귀찮다...

📘 참고한 자료


반응형

댓글