tools & libs/git

[git]git-upload-pack not permitted on ~~

  • -

주로 이클립스에서 git을 사용하는데 평소에 잘 돌아가다가 pull 과정에서 아래와 같은 오류가 뿜어져 나왔다.

이번 포스트는 위 문제의 원인과 해결책을 살펴보자.

 

git-upload-pack not permitted on XXX

 

문제의 원인

사실 그동안 github에서는 꾸준히 이런 일이 있을꺼라는 메일을 보내고 있었다. 내가 무시하고 있어서 그랬지...

Hi @quietjun,

You recently used a password to access the repository at quietjun/apshelper with git using JGit/5.12.0.202106070339-r.

Basic authentication using a password to Git is deprecated and will soon no longer work. Visit 
https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/
 for more information around suggested workarounds and removal dates.

Thanks,
The GitHub Team

즉 조만간 password를 이용한 인증은 지원하지 않을 계획이라고 열심히 알려왔다. 한글로 좀 알려줬으면 자세히 읽어봤을꺼 같은데 ㅎㅎ

앞으로는 Personal Access Token을 만들고 이를 이용해서 로그인 해야 한다.

 

토큰 만들기

Github 로그인 후 계정 정보에서 Settings > Developer settings로 이동 후 [Personal access tokens]에서 [Generate new token]을 선택한다.

 

note에 토큰의 용도를 적어준다. 다음으로 만료일을 적는데 90일로 해주었다. 만료가 되지 않는 설정도 있기는 한데 하도 위험한 짓이라고 겁을 주길래 그냥 90일로 해줬다. 필요하면 토큰은 계속 만들 수 있으니 큰 부담은 없었다. 

 

설정 후 하단의 Generate 버튼을 생성하면 토큰이 생성된 것을 확인할 수 있다.

이제 비밀 번호 대신 방금 생성한 토큰을 이용해서 로그인 하면 된다. 주의할 점은 이 토큰은 두번 다시 볼 수 없기 때문에 여기서 복사(또는 어딘가 저장.. 이건 다시 보안에 위협적인가 ㅜㅜ)해 두어야 한다.

 

이클립스에서 로그인 하기

기존에 login 정보를 secure storage에 저장해 둔 경우라면 이를 변경해야 한다. 관리하는 프로젝트의 Team > Remote > Configure Push to Upstream으로 이동한다.

 

Configure push for remote 'origin' 화면에서 [change]를 클릭해서 기존 정보를 변경하자.

 

이제 Authentication의 Password 항목에 복사해둔 token을 적어주면 된다.

 

다시 pull/push 등이 잘 동작함을 확인할 수 있다.

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.