현 포스트는 예쁜 테마 블로그 로 이전되었습니다. 지금보다 더 예쁜 뷰에서 글을 읽을 수 있습니다 🙂
깃허브를 사용하다보면 가끔씩 아래와 같은 메시지를 확인하실 수 있습니다. 또 동시에 원하는 원격 레포지토리에 push 하는 과정이 권한이 없어서 denied 되기도 합니다.
The request URL returned error : 403
또는
git : fatal: unable to access
이는 깃허브에서 본인임을 인증할 때, 인증방식이 패스워드에서 개인 토큰을 발급받고 해당 토큰을 통해 인증하는 방식을 바뀌었기 때문이라고 합니다. 따라서 원하는 레포지토리에 push 하고싶은경우, 개인 토큰(Personal Acesss Token) 을 발급받고 커밋과 푸쉬를 진행하는 인증방식으로 접근해야 합니다.
따라서 정상적으로 push 를 하려면 개인 엑세스 토큰을 발급받고 넣어줘야 합니다. 아래와 같은 발급방법을 따라서 진행하시면 되겠습니다.
우선 본인 깃허브에 접속하여 settings - Developer settings 에 접속합니다.
그 뒤로 Personal access Tokens 에 접근하시면 Generate new token 버튼이 있을텐데, 이를 클릭하여 새로운 토큰 발급을 시도하시면 됩니다.
cf) 저는 이전에 토큰을 발급한 이력이 있어서 "new_token" 이라는 토큰이 존재합니다. 개인 토큰을 처음 발급하시는 분들은 토큰이 없는게 정상입니다.
Personal Token 을 발급받을 떄 어떤 방식 및 유형의 토큰을 발급받을 것인지를 선택해야합니다.
이 부분을 유의해 주시면 좋겠습니다. 토큰의 만료기간을 설정할 수 있는것인데,
기본적으로 1주일, 30일, 60일, 90일 단위로 만료기간을 설정 가능합니다.
이 외에도 custom 을 누르면 원하는 정확한 날짜에 토큰이 만료되는 기간을 설정할 수 있습니다. 마지막으로 No expiration 이 있는데 이로 만료기간을 설정하면 만료기간이 없이 발급받은 토큰을 무제한으로 사용 가능해집니다.
현재 발급받고난 해당 토큰으로 어디까지 접근 가능할 것인지 그 범위(scope) 를 선택할 수 있습니다. 즉, 해당 토큰에 부여할 권한을 선택하는 란입니다.
이 부분은 각자의 상황에 맞게 설정하시면 됩니다. 만일 레포지토리 관리 정도만 하실 거라면 repo 에 체크를 해주면 됩니다.
발급받은 토큰은 아래와 같이 생성이 됩니다.
토큰 넘버는 절대로 잃어버리시면 안되니, 반드시 다른곳에 꼭 기록해두시거나, 안전한 곳에 복사해두시길 바랍니다.
추가적으로 개인 토큰 발급과 관련한 GitHub 의 아래 도큐먼트 링크를 참고하시면 좋을듯합니다.
아래와 같은 형식으로 push 가 가능해집니다.
$ git push https://{token}@github.com/{username}/{repo_name}.git
위 포맷을 적용하시는게 잘 이해가 안가시면 아래 사진에서 제가 했던 방식을 참고바랍니다.
매번 token 을 입력하는것도 번거롭고 귀찮은 작업이 될 것입니다. 따라서 아래와 같은 포맷으로 gitconfig 를 설정하실 수도 있습니다.
$ git config --global --unset credential.helper
이 문제를 해결하는데 참고한 블로그