오류 문구
remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'git repository 주소'
오류 상황
새로운 컴퓨터에서 ssh 설정을 하지 않은 채, https 주소로 git 연동을 해서 push를 하려고 하면 해당 오류가 발생한다.
23년 8월 13일을 기준으로, https 경로로 비밀번호를 통해 연동하는 것을 지원하지 않게 되었기 때문이다.
토큰을 사용해도 되지만 ssh 연동이 익숙하기 때문에 해당 방법으로 진행하려고 한다.
ssh 연동으로 시도 방법 (실패)
1. ssh key 발급
https://how-can-i.tistory.com/58
2. 발급한 ssh 공개키를 등록하기 위해 github 내 계정 setting으로 들어간 뒤, SSH and GPG keys > New SSH key 클릭
3. title, key를 입력 후 ssh key를 추가
key에 들어가는 데이터는 cat ~/.ssh/id_rsa.pub 명령어로 조회한 데이터를 ssh-rsa부터 마지막까지 전체 복사해서 넣으면 된다.
Key is already in use가 뜨는 경우
다 따라한 뒤, 아래와 같은 "Key is already in use"이라는 내용이 뜨는 경우 해당 키를 특정 프로젝트에 이미 등록한 것이다.
각 프로젝트별로 Setting에서 ssh key를 등록할 수 있으니, 프로젝트를 확인하여 삭제 후 계정 ssh key에 재등록해주면 된다.
1. 프로젝트 내 ssh key 삭제
프로젝트 Setting에서 Deploy keys > Delete
2. 위에서 시도했던 방법대로 재등록 시 성공하는 것을 확인할 수 있음
등록에는 성공했으나, push 시 동일한 오류가 발생함.
기존에 계정에 ssh를 등록하지 않고 프로젝트에 따로 등록한 이유가 이렇게 실패했기 때문이었던게 기억남.
생성한 Token으로 연동 (성공)
1. 계정의 Setting > Developer Settings > Tokens(classic)으로 이동하여 Generate new token을 클릭한 후 새 토큰을 생성
2. git push 시 Username과 Password를 입력하라고 할 때, Password에 발행된 토큰을 복사 붙여넣기 한다.
정상적으로 연동되어 push 되는 것을 확인할 수 있다.
https와 패스워드로 연동하는 것을 지원하지 않기로 했던 초기에는 ssh 토큰을 계정에 등록하는 것만으로도 진행이 가능했던 것 같은데, 착각인가.. 계정에 등록하는 ssh key는 권한을 어디까지 줄지 등을 선택할 수 없기 때문에 그런걸까? 시간이 나면 알아보는 것이 좋을 것 같다.
'Git' 카테고리의 다른 글
[Commit Message Convention] 깃 커밋 제목&내용 작성법 (0) | 2021.10.28 |
---|---|
[오류 해결] fatal: refusing to merge unrelated histories (0) | 2021.01.25 |
[오류 해결] failed to push some refs to ‘저장소주소’ (0) | 2021.01.23 |
[오류 해결] Committing is not possible because you have unmerged files. (0) | 2021.01.22 |
[linux / mac os] 깃 연동 - 자주 사용하는 git 명령어 추가 (0) | 2020.07.02 |