1. 사건 배경
2. 원인
3. 해결 방법
3-1. 토큰 생성
3-2. 자격 증명 설정
3-3. 토큰 사용
4. TMI
1. 사건 배경
분명 eclipse를 통한 git push를 잘 사용하고 있었는데 오늘 사용하려 했더니 계속 인증 실패가 떴다.
내가 브라우저 자동 로그인을 해놔서 아이디랑 비밀번호를 까먹었나?
그래서 브라우저로 로그인해봤는데 잘만된다. 이클립스에서만 로그인이 안된다.
Can't connect to any URI:
~~ not authorized
연결할 수 없습니다. 인증되지 않았습니다.
이런 에러창만 보여주고 정확히 뭐가 문제인지도 모르겠고 해결책도 안 알려주니 미치고 팔짝 뛸 노릇
2. 원인
"support for password authentication was removed"
"암호 인증에 대한 지원이 제거되었습니다."
원인부터 바로 말하자면 2021년 8월 13일부로 정책이 바뀌었다.
더 이상 GitHub의 계정 비밀번호로는 인증을 할 수 없다.
push와 같은 git 작업을 아이디와 비밀번호만 가지고는 할 수 없다는 것이다.
(이클립스뿐만 아니라 모든 IDE에서 똑같다)
스택오버플로우에도 이에 대한 질문들이 올라왔다.
답변들을 읽어보면 "They've been sending warnings about this for at least 6 months."
그들은 최소 6개월 이상 이에 대한 경고를 계속 보내왔다고 한다.
젠장.
나는 왜 몰랐지?
왜긴 왜야 영어로 된 경고 메시지만 보면 보지도 않고 닫아버리니까 그렇지
하... 덕분에 문제 해결한다고 3시간 날리고 내 프로젝트 파일도 하나 날려먹었다. 🤦♂️
3. 해결 방법
3-1. 토큰 생성
더 이상 패스워드로는 GitHub 연동을 할 수 없다.
대신 토큰을 발급받으면 패스워드를 대신해 사용할 수 있다.
GitHub 홈페이지에 들어가 내 프로필을 클릭하고 Settings에 들어가자.
Developer settings로 들어가 준다.
위 순서에 따라 토큰 생성 페이지로 들어간다.
토큰 생성에 필요한 정보를 입력하면 된다.
Note에는 토큰을 왜 생성하는지 뭘 위해 생성하는지 적어주고
Expiration은 만료 날짜. forever를 선택할 수 있지만 극구 말리길래 나는 1년 뒤로 설정했다. 참고로 1년이 최대임
그리고 그 밑에는 토큰에 부여할 권한들을 선택하는 옵션들이다.
나는 나만 사용할 거라 그냥 다 선택했다.
스크롤을 더 밑으로 내리면 Generate token 버튼이 보인다.
클릭하면 토큰이 생성된다.
토큰이 생성되면서 이런 안내 문구가 나온다.
You won't be able to see it again.
넌 이걸 다시 볼 수 없어.
즉, 여러분이 토큰을 볼 수 있는 건 지금 뿐이다.
이후에는 토큰을 다시는 확인할 수 없다.
그러니 꼭 생성된 토큰을 메모장에 옮겨적든 어떻게든 해서 기록해놔야 한다.
저 빨간 원에 있는 아이콘을 클릭하면 토큰을 복사할 수 있다.
3-2. 자격 증명 설정
자격 증명 설정을 하기 위해 자격 증명 관리자로 들어간다.
기존에 등록된 github 일반 자격 증명이 있다면 제거해준다.
인터넷 또는 네트워크 주소에 git:https://github.com을 입력해주고
사용자 이름은 깃허브 아이디
암호는 깃허브 비밀번호를 입력해준다.
3-3. 토큰 사용
발급된 토큰은 패스워드 대신에 입력해주면 예전처럼 인증이 가능하다.
토큰은 외우는 게 불가능하니 꼭 잘 저장해 두자.
그리고 Store in Secure Store 옵션을 체크하면 비밀번호를 다시 되묻지 않으니 체크하자.
4. TMI
억울해서 적는 TMI.
8월 13일에 수업을 들을 때는 Git 연동이 잘 됐었다.
근데 오늘 갑자기 안돼서 굉장히 당황스러웠고 해결하는 과정에서 프로젝트 하나 날려먹었고
구글링해도 안 먹히는 해결방법만 나오고 (정책이 바뀐 지 일주일밖에 안돼서 키워드를 정확히 검색하지 않으면 잘 안 나옴 ㅠㅠ)
이것도 해결 못하는 난 개발자가 맞나 싶고... 교수님이랑 했을 땐 분명히 잘됐는데...
우리나라 8월 13일 오전 오후 시간대면 미국은 이제 막 12일에서 13일로 넘어가는 날
즉 내가 수업 때 Git 연동을 잘 써먹고 수업이 끝나고 난 직후쯤에 새로운 정책이 시작됐던 것 같다.
참 아다리가 맞아도 어떻게 이렇게 맞는지
오픈채팅방에 검색해보니 이미 이에 대한 이야기가 오고 간적이 있었다.
특정 레포는 그냥 그대로 써도 된다는 말도 있다.
💡 느낀 점
- 앞으로는 경고 메시지를 잘 읽어봐야겠다.
- 안드로이드 토큰 말고도 잘 보관해둬야 하는 게 하나 더 늘었네... 귀찮다...
📘 참고한 자료
- The GitHub Blog - Git password authentication is shutting down
- stack overflow - Support for password authentication was removed. Please use a personal access token instead
- 장상현님 블로그
'오늘은 뭘 배울까? > 삽질 기록' 카테고리의 다른 글
결제 구현 중 productDetailsList가 empty list를 받아오는 이유 (3) | 2023.11.02 |
---|---|
stateflow가 같은 값을 update 하는 이유 (0) | 2023.01.26 |
recyclerView를 업데이트 하는 5가지 방법 (notifyDataSetChanged를 사용하지 말자) (14) | 2021.06.18 |
Observer가 LiveData를 관찰 못할 때 (0) | 2021.05.05 |
댓글