728x90
오류
Git clone/push: fatal : authentication error
or
Logon failed, use ctrl+c to cancel basic credential prompt.
원인
계정 정보의 불일치로 인해 인증이 실패한 상황에서 발생하는 에러다.
git은 ID/PW를 입력해 계정 인증을 시도하면 계정 정보를 git config에 저장해 다음 인증 때 사용한다.
즉 git config에 저장된 id/pw가 맞지 않아서 발생하는 error이다.
주요 발생 원인은 아래와 같다.
- 온라인 상의 github에서 비밀번호를 수정한 후 로컬 git에 저장된 인증정보를 수정하지 않은 경우
- 처음 로컬 git에 인증정보 저장 시 ID/PW를 잘못 기입했을 경우
- 다른 저장소에서 사용하려는 config된 계정 정보가 현재 저장소에서 사용될 경우(git config space혼동)
해결
잘못 저장된 정보를 삭제하고 새로운(올바른) 계정 정보를 입력하면 해당 에러를 제거할 수 있다.
이 때 Git의 config에서 계정 인증 정보는 local, global, system의 범위로 저장할 수 있다.
- local: 특정 저장소
- global: 시스템의 특정 사용자
- system: 시스템의 모든 사용자와 모든 저장소
git credential 정보를 리셋하는 코드 (* 관리자 권한 필요)
// 1.local에서 unset
git config --local --unset credential.helper
// 2.global에서 unset
git config --global --unset credential.helper
// 3.system에서 unset
git config --system --unset credential.helper
보통은 global 범위인 2번에서 리셋을 진행하면 해결된다. 현재 저장소의 정보를 단순히 잘못 입력했다면 1번으로 충분하고, global에 config를 저장할 때 잘못 기입했거나 github에서 수정됐다면 2번을 사용해야 한다.
3번의 system unset을 하게 되면 무조건 문제가 해결되겠지만, 당연하게도 모든 사용자/저장소의 캐시도 삭제되기 때문에 이후 과거 인증 절차를 지난 모든 프로젝트에서 다시 번거롭게 인증을 진행해야 한다.
따라서 적용 범위를 잘 골라서 캐시를 리셋하는 것이 좋다.
728x90
'GIT' 카테고리의 다른 글
GIT Error - Git can't detect local changes, can't add (0) | 2021.06.13 |
---|---|
GIT Error - can't find remote repository (0) | 2021.06.13 |
remote: HTTP Basic: Access denied (0) | 2021.06.13 |
error: RPC failed; curl transfer closed with outstanding read data remaining (0) | 2021.06.04 |
Git 저장소 옮기기 / 복사 : git repository mirroring (0) | 2021.06.03 |
댓글