github 에 여러 계정 등록하고 ssh 설정하기
저는 lesstif 아이디로 github 를 사용하고 있는데 별도의 id 를 하나 더 사용해야 할 일이 생겼습니다.
새로운 id 용 ssh key 를 등록하고 .ssh/config 를 설정하는 과정을 정리해 봅니다.
새로운 id 는 new-github-id 입니다.
ssh 키 생성
새로운 계정용 ssh 키가 없다면 ssh-keygen 명령으로 생성해 줍니다.
계정마다 폴더를 만들고 이 안에 개인키와 공개키를 넣어주는게 좋으므로 먼저 폴더를 생성합니다.
$ mkdir -p ~/.ssh/new-github-id
새로운 ssh 키 쌍을 생성하고 passphrase 를 설정해 줍니다.
$ ssh-keygen -f ~/.ssh/new-github-id/id_rsa Generating public/private rsa key pair. Enter passphrase (empty for no passphrase):
github 계정에 ssh 키 등록
github 에 새로운 계정에 로그인 한 후에 Settings → "SSH and GPG keys" 에 들어갑니다.
생성한 ssh 공개 키(id_rsa.pub) 의 내용을 Key 항목에 붙여 넣고 키를 구분하기 위해 Title 에 키 이름을 임의로 적어주고 가서 "Add SSH key"를 클릭하면 등록이 완료됩니다.
.ssh/config 설정
구분할 수 있게 .ssh 의 설정 파일인 config 에 항목을 추가합니다. 예로 기존에 다음과 같은 내용이 있었다면
Host github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/lesstif@gmail.com/id_rsa
새로운 아래에 새로운 항목을 추가합니다. 중요한 부분은 Host 를 기존과 다르게 주고 IdentityFile 에는 새로운 ssh 개인키의 경로를 설정합니다.
Host github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/lesstif@gmail.com/id_rsa ## 추가 부분 Host github-new-id HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/new-github-id/id_rsa
이제 설정이 다 끝났습니다. clone 할 때 github.com 대신 Host 에 지정한 이름인 github-new-id 를 넣어주면 됩니다.
예로 클론할 github 주소가 git@github.com:lesstif/dotfiles.git 일 경우 다음과 같이 github.com 을 github-new-id 로 변경해서 clone 하면 됩니다.
$ git clone git@github-new-id:lesstif/dotfiles.git