[Github] 토큰 인증 로그인(Personal Access Token)

msung99·2022년 7월 19일
3
post-thumbnail

현 포스트는 예쁜 테마 블로그 로 이전되었습니다. 지금보다 더 예쁜 뷰에서 글을 읽을 수 있습니다 🙂

Access Denied 에러 메시지가 뜬다?

깃허브를 사용하다보면 가끔씩 아래와 같은 메시지를 확인하실 수 있습니다. 또 동시에 원하는 원격 레포지토리에 push 하는 과정이 권한이 없어서 denied 되기도 합니다.

The request URL returned error : 403

또는 

git : fatal: unable to access

이는 깃허브에서 본인임을 인증할 때, 인증방식이 패스워드에서 개인 토큰을 발급받고 해당 토큰을 통해 인증하는 방식을 바뀌었기 때문이라고 합니다. 따라서 원하는 레포지토리에 push 하고싶은경우, 개인 토큰(Personal Acesss Token) 을 발급받고 커밋과 푸쉬를 진행하는 인증방식으로 접근해야 합니다.


Personal Access Token 발급받기

따라서 정상적으로 push 를 하려면 개인 엑세스 토큰을 발급받고 넣어줘야 합니다. 아래와 같은 발급방법을 따라서 진행하시면 되겠습니다.

1. Developer Settings 접속

우선 본인 깃허브에 접속하여 settings - Developer settings 에 접속합니다.

그 뒤로 Personal access Tokens 에 접근하시면 Generate new token 버튼이 있을텐데, 이를 클릭하여 새로운 토큰 발급을 시도하시면 됩니다.

cf) 저는 이전에 토큰을 발급한 이력이 있어서 "new_token" 이라는 토큰이 존재합니다. 개인 토큰을 처음 발급하시는 분들은 토큰이 없는게 정상입니다.

2. 토큰 생성시 유의사항

Personal Token 을 발급받을 떄 어떤 방식 및 유형의 토큰을 발급받을 것인지를 선택해야합니다.

1.Note

  • 유추할 수 있듯이, 새롭게 발급 받으려는 토큰의 용도를 기록하실 수 있습니다. 즉, 무슨 용도의 토큰인지 이름을 지어주는 것으로, 원하시는 내용을 편하게 설정해주시면 됩니다.

2. Expiration

이 부분을 유의해 주시면 좋겠습니다. 토큰의 만료기간을 설정할 수 있는것인데,
기본적으로 1주일, 30일, 60일, 90일 단위로 만료기간을 설정 가능합니다.

이 외에도 custom 을 누르면 원하는 정확한 날짜에 토큰이 만료되는 기간을 설정할 수 있습니다. 마지막으로 No expiration 이 있는데 이로 만료기간을 설정하면 만료기간이 없이 발급받은 토큰을 무제한으로 사용 가능해집니다.

3. Select scopes

현재 발급받고난 해당 토큰으로 어디까지 접근 가능할 것인지 그 범위(scope) 를 선택할 수 있습니다. 즉, 해당 토큰에 부여할 권한을 선택하는 란입니다.
이 부분은 각자의 상황에 맞게 설정하시면 됩니다. 만일 레포지토리 관리 정도만 하실 거라면 repo 에 체크를 해주면 됩니다.

4. 토큰 발급

발급받은 토큰은 아래와 같이 생성이 됩니다.
토큰 넘버는 절대로 잃어버리시면 안되니, 반드시 다른곳에 꼭 기록해두시거나, 안전한 곳에 복사해두시길 바랍니다.

추가적으로 개인 토큰 발급과 관련한 GitHub 의 아래 도큐먼트 링크를 참고하시면 좋을듯합니다.

https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token


git push 를 할때 토큰을 활용하기

아래와 같은 형식으로 push 가 가능해집니다.

$ git push https://{token}@github.com/{username}/{repo_name}.git

위 포맷을 적용하시는게 잘 이해가 안가시면 아래 사진에서 제가 했던 방식을 참고바랍니다.


gitconfig 설정

매번 token 을 입력하는것도 번거롭고 귀찮은 작업이 될 것입니다. 따라서 아래와 같은 포맷으로 gitconfig 를 설정하실 수도 있습니다.

과정

  1. git bash를 관리자 권한으로 실행
  2. 아래 명령어 입력 -> credential 정보 삭제하기
$ git config --global --unset credential.helper
  1. git push 하면 뜨는 창에 이름, 비밀번호 입력
    (비밀번호에 Personal Access Token 입력하기)
  2. 이후에는 git push만으로 잘 됩니다.

이 문제를 해결하는데 참고한 블로그


참고

https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token

https://hapbbying.tistory.com/167

https://ltw2.tistory.com/m/entry/github-fatal-unable-to-access-repository-The-requested-URL-returned-error-403

profile
블로그 이전했습니다 🙂 : https://haon.blog

0개의 댓글