개인 프로젝트와 회사 프로젝트 등으로 GitHub 계정을 여러 개 사용하는 경우가 있습니다. 이럴 때 각각의 계정에 별도의 SSH 키를 설정하면, 좀 더 명확하게 계정을 구분하여 사용할 수 있습니다.

다음은 여러 개의 SSH 키를 각각의 GitHub 계정에 할당하는 방법을 정리해봤습니다.

1. SSH 키 생성

먼저 새로운 SSH 키를 생성합니다. 아래 명령어에서 id_rsa_foobar는 원하는 키 이름으로 변경하시면 됩니다.

1
ssh-keygen -t rsa -b 4096 -C "your-email@example.com" -f ~/.ssh/id_rsa_foobar

보안을 좀 더 신경쓰고 싶다면 passphrase(암호)를 설정할 수도 있습니다.

2. SSH 키를 GitHub 계정에 추가하기

생성한 SSH 키의 공개키(public key)를 GitHub 계정에 등록합니다.

1
cat ~/.ssh/id_rsa_foobar.pub

출력된 내용을 GitHub 계정의 Settings → SSH and GPG keys에 들어가 추가합니다.

3. SSH 설정 파일에 Host 추가

SSH 설정 파일(~/.ssh/config)에 다음과 같이 각 GitHub 계정별로 구분되는 호스트 이름을 설정합니다.

1
2
3
4
Host github-foobar
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_foobar

4. Repository 클론할 때 Host 적용

이제 GitHub 저장소를 클론할 때 다음과 같이 위에서 설정한 Host 이름을 사용합니다.

1
git clone git@github-foobar:username/repository.git

위 명령어에서 github-foobar는 SSH 설정 파일에서 정의한 Host 이름입니다. 이렇게 하면 해당 계정에 설정된 SSH 키가 자동으로 사용됩니다.

5. 테스트 해보기

설정이 제대로 되었는지 확인하려면 아래 명령어로 연결 테스트를 해볼 수 있습니다.

1
ssh -T git@github-foobar

정상적으로 설정되었다면 GitHub 계정명이 포함된 성공 메시지가 나옵니다.