Git에서 매번 ID, 비밀번호 입력이 번거롭다면 SSH 키 설정으로 해결하는 것이 해결책이 될 수 있다.
Git에서 원격 저장소에 코드를 push하거나 fetch할 때, HTTP 방식을 사용하고 있다면 매번 ID와 비밀번호를 입력해야 한다.
특히 2FA(2단계 인증)를 사용하는 경우 토큰까지 발급받아야 해 꽤나 번거롭다.
이를 보다 편리하게 처리할 수 있는 방법이 SSH 키 인증 방식이다.
SSH 방식을 사용하려면 먼저 SSH 키를 생성해야 한다. 다음 명령어를 통해 키를 생성할 수 있다:
ssh-keygen -t rsa -C "사용자 이메일"
명령어를 입력하면 키를 저장할 위치를 묻는다.
기본 위치인 ~/.ssh/id_rsa를 사용하면 된다.
생성이 완료되면 ~/.ssh/id_rsa.pub 파일에 공개키가 저장되어 있다.
이 공개키 내용을 복사한 후, 사용하는 Git 플랫폼(GitHub)의 사용자 계정 설정에서 SSH 키를 등록해야 한다. SSH Keys라는 메뉴에서 등록할 수 있다.
SSH 키 등록이 완료되면 이제부터는 HTTP 방식 대신 SSH 주소를 사용해 리포지토리를 clone할 수 있다.
git clone git@bitbucket.org:your-org/your-repo.git
이렇게 clone한 저장소는 이후부터 push, pull, fetch 시에도 ID나 비밀번호를 물어보지 않는다.
이미 HTTP 방식으로 clone한 프로젝트가 있다면, remote 설정을 SSH 방식으로 변경해주면 된다.
git remote set-url origin git@bitbucket.org:your-org/your-repo.git
SSH 방식은 한 번만 설정해두면, 이후부터는 인증 과정이 생략되어 아주 편리하다.