ETC -

GitHub 토큰 인증 로그인

  • -

🔒 GitHub 토큰 인증 로그인

안녕하세요 TriplexLab입니다.

오늘은 GitHub에서 ID/PW기반의 Basic Authentication 인증을 금지하고,

ID/Personal Access Token 방식의 Token Authentication 인증을 요구하고  있어서 

문제점:

GitHub에서 ID/PW기반의 Basic Authentication 인증을 금지함.

해결 방법 요약:

토큰을 발급받아서 내 로컬 키체인에 저장합니다. 

오늘 한번 push를 해보니 정말로 에러 메시지가 뜬다. 👇👇

에러 메세지:

remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. ... The requested URL returned error: 403

2021년 8월 13일에 암호 인증 지원이 제거되었습니다. 대신 개인 액세스 토큰을 사용하십시오. 


📌 개인 액세스 토큰 만들기

아직 확인되지 않은 경우 이메일 주소를 확인합니다. 

페이지의 오른쪽 상단에서 프로필 사진을 클릭한 다음 설정을 클릭합니다.

왼쪽 사이드바에서 개발자 설정을 클릭합니다.

왼쪽 사이드바에서 개인 액세스 토큰을 클릭합니다.

새 토큰 생성을 클릭합니다.

토큰에 설명이 포함된 이름을 지정합니다.

토큰에 만료를 부여하려면 만료 드롭다운 메뉴를 선택한 다음 기본값을 클릭하거나 캘린더 선택기를 사용합니다.

이 토큰을 부여할 범위 또는 권한을 선택하십시오. 토큰을 사용하여 명령줄에서 저장소에 액세스 하려면 repo를 선택하십시오.

토큰 생성을 클릭합니다.

다음과 같이 토큰을 확인할 수 있습니다. 토큰을 복사합니다.

 

📌 키체인에 password 변경하기 

mac에 기본으로 탑지되어 있는 키체인에 접근 합니다. 

검색을 통해서 키체인 접근

검색란에 GitHub라고 검색합니다. 👇👇

검색란에 GitHub 검색

계정 : github ID
암호 보기 : 체크를 합니다.
그리고 하라는데로 다음 스텝을 진행합니다. 

토큰을 붙여넣기 합니다.

 

이제 다시 git push 등의 명령어를 실행하면 정상적으로 잘 될 것입니다. 👏👏  

git push 성공한 모습


📌 한달이 지나고 push 요청 


나는 토큰 만료일을 30일로 설정했다.

시간이 지나고 보니. 까먹고 있다가 오늘(21/09/14) github에 push가 안되고 자꾸 권한 문제 에러가 나왔다

해석하면 권한 문제 인것 같은 에러 메세지.

몇번의 삽질과 써칭을 해본결과 권한 문제가 아니라, 토큰 만료때문 이였다... 하..  😱

어제 만료되었다고 한다..

 

그래서 해당 토큰을 삭제하고, 다시 만들어주고, 키체인에 접근해서 암호키를 다시 만들어 주었다.

다시 터미널에서 push를 했더니 잘 된다!! 👏👏

git push 다시 시도해서 성공한 모습

📌 한달이 지나고 Pull 요청

그리고 혹시 프로젝트를 pull 해오는 쪽에서 아래와 같이 에러 메세지가 뜬다면

다음을 시도해주시면 됩니다.
(다음을 사용하여 로컬 저장소를 정리하는것 입니다.) 자사한 내용은 여기 참고하세요

$ git gc --prune=now
$ git remote prune origin

그리고 적절한 시간이 지나고 
다시 Pull 요청을 하면 정상적으로 받아올수 있습니다. 


만약 다음과 같은 에러 메세지를 본다면 당황하기 말고

#에러 메세지
fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

다음 명령어를 사용해서 remote가 정상적으로 연결되어있는지 확인 해야 합니다.

1) 저장되어있는 원격 저장소가 없는 경우 -> 다시 연결합니다.
2) 저장되어있는 원격 저장소가 존재하는 경우 -> 원격 저장소 연결 끊음후 다시 연결합니다.

git remote -v

git remote -v를 하면 아무런 피드백 없으면 현재 연결된 원격 저장소 없다는 뜻,
다음 명령어를 통해서 다시 연결합니다. (1번의 경우)

git remote add origin "Clone 주소" OR "Clone SSH 주소" // 원격 저장소 다시 연결

1) 저장된 원격 저장소 없는 경우

원격 저장소 연결 끊음 명령어 (2번의 경우)

git remote remove origin

git remote -v를 하여 연결된 원격 저장소 확인

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.