티스토리 뷰

728x90
반응형

 

깃헙(github)에서 2요소 인증 기능 활성화 후 계정 확인 절차 문제

 

GitHub에서 2요소 인증(Two factor authentification)을 활성화 시킨 이후에 git clone, git fetch, git pull, git push 로컬에서 원격 저장소에 접속하는 상황에서 기존에 사용하던 계정(username)과 암호(password)를 사용하니 다음과 같은 문제가 발생한다.

 

..

$ git clone [url]

..

..

remote: Invalid username or password.

..

 

메시지로는 username과 password 중에 잘못 넣은 것으로 판단해서 열심히 github 계정과 암호를 확인하였는데 결국 이런 경우 해결책은 github 웹 계정이 아닌 개인접근토큰(Personal Access Token)을 활용해야 함을 알게 되었다. 

 

토큰을 만들어서 사용하는 방법은 다음 GiHub 문서에 나와 있다.

docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token

 

Creating a personal access token - GitHub Docs

Creating a personal access token You should create a personal access token to use in place of a password with the command line or with the API. Personal access tokens (PATs) are an alternative to using passwords for authentication to GitHub when using the

docs.github.com

 

해결책 요약

1. 'Settings' 메뉴 선택

깃헙 페이지 상단 오른쪽에 프로필 사진을 클릭하면 다음과 같이 메뉴가 보이고 'Settings'를 선택한다.

2. Developer settings 선택

왼쪽 메뉴 중 'Developer settings' 선택한다.

3. Personal access tokens 선택

좌측 메뉴 중 Personal acess tokens를 선택하면 토큰을 생성하는 페이지가 나온다.

4. Generate new token 선택

상단 Generate new token 버튼을 클릭한다.

5. token 옵션 선택 후 generate token 선택하여 생성

Note 란에 token을 설명할 타이틀 역할을 하는 내용을 작성한다.

scopes 옵션 선택란에 생성할 token의 제한 조건을 정한다. 

 

접근 제한에 대한 내용은 다음 정보를 참조하면 된다.

docs.github.com/en/developers/apps/scopes-for-oauth-apps

 

Scopes for OAuth Apps - GitHub Docs

Scopes let you specify exactly what type of access you need. Scopes limit access for OAuth tokens. They do not grant any additional permission beyond that which the user already has. When setting up an OAuth App on GitHub, requested scopes are displayed to

docs.github.com

선택이 마무리 되면 페이지 마지막의 'Generate token' 버튼을 누르면 된다. 

6. token 보관 및 사용

다음과 같이 시리얼 번호가 보이게 되는데 이 번호를 잘 복사해서 보관해야 한다. 

물론 다시 발행하면 되지만 그 때마다 token 정보가 계속 바뀌게 된다. 

 

이 정보는 다음과 같이 git clone 등의 실제 git 명령어를 통해 원격 저장소와 연관된 작업시 필요한 인증 과정에 기존에 쓰던 웹 계정 암호가 아니라 생성한 토큰으로 대신하여 사용하면 된다. 

 

다음과 같이 Username 입력 시 사용하는 github 계정 사용자 이름을 입력하고 Password 입력시 위에서 생성한 Personal Access Token값(문자열)을 입력하면 원하는 기능이 인증되고 무사히 수행된다. 

 

$ git clone https://github.com/계정이름/저장소이름 

cloning into '저장소이름' ...

..

Username for 'https://github.com':  계정이름 

Password for 'https://계정이름@github.com': 생성한 토큰 값

..

..

Unpacking objects: 100% ... 

 

잊지말자!

2요소 인증 후 github 사용시 암호는 token으로 대신해서 사용한다.

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함