Computer Science/Etc

GitHub에서의 Git 토큰 인증

TwinParadox 2021. 9. 22. 11:22
728x90

맥북 세팅을 진행하면서 GitHub에 있는 학습용 repository를 로컬에 clone을 진행하려고 보니까 아래와 같은 문구를 내뿜었다.

 

Cloning into 'Self-Study'...
Username for 'https://github.com': Twinparadox
Password for 'https://Twinparadox@github.com': 
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: Authentication failed for 'https://github.com/Twinparadox/Self-Study/'

 

다른 문구는 볼 필요 없이, 4번째 줄에 있는 내용만 보면,

 

Support for password authentication was removed on August 13, 2021.

Please use a personal access token instead.

 

2021년 8월 13일부터는 비밀번호 인증 방식이 제거되었고,

개인용 액세스 토큰(personal access token)을 사용해달라는 내용이다.

여러모로 비밀번호 인증 방식이 편하긴 하지만, 여러 이슈를 고려해서 이렇게 방식을 바꾼 것 같다.

 

이런 상황에서 git을 사용하려면, git token과 SSH 둘 중 하나를 사용해서 인증을 진행해야 한다.

위 두 가지 방법 중 하나로 인증 절차를 거쳐야 사용이 가능한데, 이번 글에서는 git token 방식을 사용하는 방법에 대해 정리해본다

 

 

깃 토큰(git token)

https://github.com/settings/apps

 

GitHub: Where the world builds software

GitHub is where over 65 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and feat...

github.com

위 경로로 이동하면 3가지 탭이 있고, 우리가 원하는 Personal Access Token을 여기서 찾을 수 있다.

 

 

Generate new token을 클릭하면,

토큰 생성 절차를 진행하게 되고, 토큰의 이름과 만료일을 지정할 수 있다.

토큰 이름은 식별할 수 있는 값으로 적절하게 지어주면 될 것이고, 중요한 것은 만료일인데,

기본 옵션으로 7, 30, 60, 90일과 사용자 지정일, 만료일 없음 옵션이 존재한다.

정말 속편하게 사용하고자 하면, 만료일이 없는 무기한 옵션을 선택할 수 있으나, 이럴거면 토큰 사용의 의미가... 있을까 싶다.

이것들을 설정해주면, 해당 토큰에게 허용해줄 권한을 선택해야 한다.

 

권한 목록들이 이것 말고도 더 있다.

자신이 어떤 권한까지 필요한지에 맞춰서 권한을 선택하면 되고, 잘 모른다면 모두 선택하는 방법도 있다.

주로 repository에 commit, push, pull 정도만 하고 repository 관련 작업만 한다면, repo 권한만 체크해서 생성하자.

토큰을 생성하고 나면, 이 값을 인증 단계에서 기존의 비밀번호처럼 사용하면 된다.

 

주의해야 할 점이라면, 토큰 기반 인증은 토큰이 생성된 이후 다시 알아낼 방법이 없다.

추후 다시 토큰 인증을 수행하려고 할 때 토큰값을 따로 기록해두지 않으면, 생성된 토큰값을 알아낼 방법은 없다.

이럴 때는 그냥 재생성(Regenerate)하고 새로 생성된 토큰을 사용하는 방법밖에 없다.

그러니, 인증이 필요한 대상들을 미리 파악하는 것이 좋다...

 

예전대로라면 Password를 입력했겠지만, 생성한 토큰값을 넣어주니 정상적으로 clone이 진행된다.

간단한 repository 관련 작업을 하는데 비밀번호 인증만큼 편한 것이 없었는데, 인증 과정이 조금 귀찮아졌다.

하지만, 보안 상의 이유로 이렇게 해뒀으니 따르는 수밖에 없겠다.

 

728x90
728x90