Vcs, Git

git error - Invalid username or password 해결법

ryanhearts 2023. 6. 27.

발생 원인

jeonghyojun@Junes-M2-Air 3d-plot-for-image % git push origin main
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/Junepp/3d-plot-for-image.git/'

- 계정 아이디, 비밀번호를 잘못 입력했을 때

- 올바른 계정이지만 저장소에 접근 권한이 없을 때

- 계정 대신 사용하던 토큰이 만료되었을 때

위와 같은 이유로 저장소에 접근할 수 있는 권한이 없을 때 발생하는 오류입니다.

 

제 경우엔 사용하던 토큰이 기간 만료로 파기되어 오류가 발생하였습니다.


해결법

두가지 과정을 통해 해결할 수 있습니다.

1. 토큰 재발급

2. 새로운 토큰으로 저장소와 다시 연결하기

1. 토큰 재발급

- 깃허브 우측 상단 프로필 사진 클릭해 사이드바 열기

- 사이드바에서 Settings 메뉴 진입

- 좌측 사이드바 최하단의 Developer settings 메뉴 진입

- Token (classic) 메뉴 진입

사용하던 토큰은 5월 12일에 만료되었다고 나와있습니다.

- Generate new token > Generate new token (classic) > 신규 토큰 발급

토큰 식별을 위한 노트, 유효 기간, 권한등을 목적에 따라 설정 후 Generate token을 클릭하면 생성은 끝

토큰을 잊으면 재발급 해야하니 잘 보관하셔야 합니다!

2. 새로운 토큰으로 저장소와 다시 연결하기

git remote remove origin
git remote -v

우선에 기존에 있던 유효하지 않은 연결을 제거합니다.

제거 후 git remote -v 를 통해 연결을 확인해보면 아무것도 뜨지 않습니다.

git remote add origin https://{아이디}:{토큰}@{저장소_주소}

깃허브 아이디와 발급받은 토큰, 저장소 주소를 넣어 위 커맨드를 완성 후 입력

ex) git remote add origin https://abc1234:ghp_0000...0000@github.com/Junepp/3d-plot-for-image

 

이제 git push를 하면 정상적으로 실행됩니다.

jeonghyojun@Junes-M2-Air 3d-plot-for-image % git push origin main
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 358 bytes | 358.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/Junepp/3d-plot-for-image
   5ad193d..0680063  main -> main