Github SSH 여러개 사용하기
ETC안녕하세요 Lovefield입니다.
최근 회사에서 한 컴퓨터로 Github 계정 두 개를 사용해야 하는 일이 생겼습니다. https통신은 사용하고싶지 않았고 SSH Key를 이용한 통신을 하고 싶었기에 여러 방면으로 찾아보았습니다. 이번 글은 제가 성공한 방법에 대해서 알려드리려 합니다.
1. SSH 키 생성
MAC을 기준으로 cd ~/.ssh
를 사용해 폴더를 이동합니다. 그 다음 2개의 키를 생성합니다.
ssh-keygen -t ed25519 -C “first@email.com” -f first-ssh
ssh-keygen -t ed25519 -C “second@email.com” -f second-ssh
정상적으로 실행이 되었다면 총 4개의 파일이 생성됩니다.
- first-ssh
- first-ssh.pub
- second-ssh
- second-ssh.pub
이제 ssh-add를 사용하여 키를 등록해줍니다.
ssh-add first-ssh && ssh-add second-ssh
등록이 잘 되었다면 ssh-add -L
명령어를 통해 확인이 가능합니다.
2. Github 계정에 키 등록
Github 사이트로 들어가 "setting > Access > SSH and GPG keys" 항목에 들어갑니다.
오른쪽 위의 New SSH key를 누른뒤 앞서 등록한 SSH를 기입해줍니다. Key에 기입해야하는 내용은 다음 명령어를 통해 알 수 있습니다.
cat first-ssh.pub
위의 과정을 각각의 계정에서 해줍니다.
3. 설정
이제 config
파일을 수정해야합니다. 다음 명령어로 config 파일에 접근합니다.
vi ~/.ssh/config
내용은 아래와 같습니다.
Host first.github.com
HostName github.com
AddKeysToAgent yes
UseKeychain yes
User git
IdentityFile ~/.ssh/first-ssh
IdentitiesOnly yes
Host second.github.com
HostName github.com
AddKeysToAgent yes
UseKeychain yes
User git
IdentityFile ~/.ssh/second-ssh
IdentitiesOnly yes
설정이 다 되었다면 이제 테스트를 할 차례입니다. 다음 명령어를 이용해 각각 올바른 계정 이름이 나오는지 확인합니다.
ssh -T git@first.github.com
ssh -T git@second.github.com
올바른 명칭이 내려온다면 설정이 잘 되었습니다. 이제 Github에서 클론을 사용할때는 각각 아래의 주소를 사용해야합니다.
git clone git@first.github.com:userName/RepoName
git clone git@second.github.com:userName/RepoName
로컬에서 Git을 사용할때 서명이 겹칠 수 있으니 각각의 레포에서 별도로 설정을 해줘야 합니다.
git config user.email “second@email.com”
git config user.nickname “second”
이제 로컬에서 Git을 이용하시면 됩니다. 감사합니다.