이슈 발생
git push를 하려고 보니 갑자기 아래와 같은 메시지가 출력된다.
credential.helper를 store로 설정하고 password 방식을 사용하고 있었는데
2021/8/13 이후로 password 방식이 deprecated 되어서 발생한 문제였다.
> git push origin step3
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/](https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/) for more information.
fatal: unable to access "..." : The requested URL returned error: 403
git config --global credential.helper store
명령을 실행한 적이 있다면?
로컬에 패스워드를 그대로 저장하는 방식을 사용중인 것이다. 아래 명령을 통해 확인 가능하다.
> git config --global --list
...
credential.helper=store
...
조치 방법
- 자격증명 날리기
아래 글을 참고해서 로컬의 모든 인증정보를 날렸다.
https://git-scm.com/book/ko/v2/Git-도구-Credential-저장소
https://stackoverflow.com/questions/15381198/remove-credentials-from-git
.git-credentials
파일 삭제 ➡️ C:\Users\{USER_NAME}\.git-credentials 파일 삭제- 윈도우 자격 증명 제거 ➡️ [시작] - [검색] - [Windows 자격 증명 관리] - [git 관련 인증 모두 삭제]
- 로그인 시 토큰 입력
이후에 다시git push
를 해보면 아래와 같이 나오는데 password에personal-access-token
을 넣어주면 된다.personal-access-token
은 https://github.com/settings/tokens에서 발급 가능하다. 권한은 일반적으로 repo 권한을 모두 체크하면 된다.
(메뉴 경로: GitHub - Settings - Developer settings - Personal access tokens)
> git push origin step3 Username for 'https://github.com': wrallee Password for 'https://wrallee@github.com': ...
사실 위와 같이 뜨면 로컬 깃이 좀 오래된 버전인것이다.
깃 버전을 올리면 아래와 같이 브라우저가 토큰 발급을 알아서 해준다.
(credential.helper가 store일 경우 C:\Users{USER_NAME}\.git-credentials에서 확인 가능)
추가 조치
그래서 깃을 업데이트하기로 했다.
추가로 store는 인증정보를 단순히 평문으로 저장하기 때문에 보안성 강화를 위해 Git Credential Manager for Windows
를 사용하기로 했다.
- 깃 업데이트
> git update-git-for-windows
- credential.helper 변경
> git config --global credential.helper manager-core
.git-credentials
파일 삭제
C:\Users{USER_NAME}\.git-credentials 파일 삭제
이제 사용자 폴더에 .git-credentials 파일이 생성되지 않는다.
추추가 조치
위와 같이 credential.helper
를 manager-core
로 바꾸고 아래 메시지가 출력되었다.
> git push
git: 'credential-manager-core' is not a git command. See 'git --help'.
알고 보니 업그레이드를 했음에도 실제로는 예전에 깔아둔 포터블 버전을 사용중이었다. 자세한 내용은 아래 글을 참고했다.
https://github.com/microsoft/Git-Credential-Manager-Core/issues/144
> git --exec-path
E:/Development/PortableGit/mingw64/libexec/git-core
시스템 환경 변수 편집 > 환경 변수 > 시스템 변수 - PathE:\Development\PortableGit\bin
→ C:\Program Files\Git\bin
> git --exec-path
C:/Program Files/Git/mingw64/libexec/git-core
이제 제대로 사용할 수 있다.
'Others' 카테고리의 다른 글
USB 없이 Ubuntu 재설치 하기 (0) | 2021.03.14 |
---|---|
OpenVAS 환경 구성 (0) | 2020.06.17 |
AWS EC2 & RDS (0) | 2020.05.17 |
안드로이드폰으로 리눅스 서버 만들기 (1) | 2020.04.05 |
Ubuntu Apache 웹 서버 띄우기 (0) | 2020.03.29 |