본문 바로가기
테크노트/github

github push 할 때 Access Denied 에러 메시지는?

by 테크한스 2023. 4. 8.

github에서 본인인증 방식이 변경되었다.

 

기존 인증방식인 패스워드에서 개인토큰으로 발급을 받고 해당 토큰을 통해 인증하는 방식으로 변경

 

그러므로 개인토큰을 모르고 있는 경우 토큰을 받아야 하고

 

push할때 인증방식에서 토큰으로 입력해야 한다.

 

 

(1) Personal Access Token 발급

 

개인 토큰을 발급 받으려면 github 계정으로 로그인한 후에 settings > Developer settings 에 접속

맨 좌측 하단에 Developer settings 를 선택한다.

 

다시 해당 하단의 Personal access tokens 를 누른다.

좌측 메뉴 중 Tokens(classic)을 다시 선택하면 우측화면 상단에 Generate new token 이 보일 것이다.

 

그것을 선택해서 해당 토큰을 받으면 된다.

 

 

토큰을 생성할 때 몇가지 옵션이 있는데 중요한 점은 Expiration에 No expiration을 선택하여 기간없이 사용하도록 설정하는 것이다.

 

그리고 해당 토큰으로 어디까지 접근 가능하도록 할 것이지에 대한 범위(scope)를 선택가능하다

일반적으로 repo (저장소) 정도로 설정해 주면 된다.

 

그리고 개인토큰을 발급받는다. 

해당 토큰은 발급 후에 다시 해당 메뉴로 돌아와도 더 이상 보이지를 않기에

반드시 저장한다.

(발급 후에는 반드시 로컬에 해당 토큰을 복사해서 저장해 놓는다.)

 

물론 다시 재발급하게 되면 되지만

토큰 값이 변경되기 때문에 설정부분에서 다시 새 토큰값을 설정해 주어야 한다.

 

개인토큰 발급에 대한 github 공식 문서이다. (참고)

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

 

Creating a personal access token - GitHub Docs

Use a personal access token in place of a password when authenticating to GitHub in the command line or with the API.

docs.github.com

 

소스 트리같은 곳에서는 설정메뉴 부분에서 해당 토큰 값을 입력하면 설정이 끝나게 된다.

 

(git bash terminal 사용시)

 

1) git push 할때 발급한 토큰은 아래와 같이 활용할 수 있다.

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

 

2) 매번 push 마다 이 명령어를 사용하기 힘들기에 아래와 같이 설정해 사용

git config --global --unset credential.helper

git push 하면 나오는 창에 이름, 비밀번호(여기에 위에서 발급 받은 개인토큰을 입력)

 

그 후에는 git push 로 사용

댓글