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 


같이 보기