정말 간단하게만 정리한다.
이 방법은, git 명령을 사용하여 github.com 로그인 시에 ID/PW 를 사용하지 않고 ssh 키로 가능하게 하도록 해준다.
굳이 ssh 키가 필요한 이유가 있나?
2FA 를 설정해놓으면, git remote
시에 ID/PW 로 로그인을 할 수가 없다. PW 대신 Token 을 사용해야 하는데, 그러느니 그냥 사용 중인 ssh 공개키를 쓰는 편이 낫지 않겠나.
준비물은 사용하고 있는 ssh 키 뿐. 새로 만들 필요는 없고, 기존에 사용하던 키쌍을 사용하면 된다. github 에선 ed25519 도 지원한다.
ssh 공개키를 github.com 에 등록하기
공식 문서에 키 등록 방법이 나와 있는데, 범용으로 설명해놓은 터라 다소 복잡하게 되어 있다. 굳이 그대로 따라할 필요는 없다.
~/.ssh/id_ed25519.pub 내용을 어떤 식으로든 복사하고(즉, 굳이 xclip 을 쓸 이유는 없다), 그 내용을 github.com 에 붙여넣는다.
github.com – Settings – SSH and GPG Keys
여기로 이동하여, SSH keys 항목에 위의 키를 붙여넣으면 설정은 끝난다.
ssh 설정 시험
키가 잘 등록되었는지 여부는 다음과 같이 시험하여 알아볼 수 있다.
ssh -T git@github.com
저 명령 그대로 입력해야 한다. git@github.com 을 <id>@github.com 으로 바꾸는게 아니다.
이후 fingerprint 관련 문구가 나온 뒤, 접속에 최종 성공하게 되면 환영 메시지를 볼 수 있다.
> Hi username! You've successfully authenticated, but GitHub does not > provide shell access.
ssh 로 원격 저장소 바꾸기
보통은 원격(remote) 저장소로 https://github.com 주소를 사용하는데, 이걸 ssh 로 바꾸려면,
git remote set-url origin git@github.com:USERNAME/REPOSITORY.git
또, 처음부터 ssh 주소로 등록하려면 주소만 바꿔주면 된다.
git remote add origin git@github.com:USERNAME/REPOSITORY.git