[Github] 다중 깃헙 계정 연동하기
안녕하세요. 그린입니다🍏
이번 포스팅에서는 다중 깃헙 계정을 한 PC에서 연동하는 방법에 대해 포스팅해보겠습니다🙌
개인 깃헙 계정과 회사에서 사용하는 깃헙 계정이 다를 경우 각각 프로젝트에 대해서 다른 계정으로 이용하게 됩니다.
이럴때 SSH를 이용해 클론 받거나 pull, push 등 작업을 요할때 다중으로 연동하여 관리할 수 있어요😲
그럼 어떻게 연동하는지 바로 ㄱㄱ
1. SSH Key 생성하기
우선 개인, 회사 깃헙 계정에 대해 각각 SSH Key를 생성해야합니다.
먼저 터미널을 켜서 /Users/프로필 설정 이름/.ssh로 들어가줍니다.
요렇게 기본 터미널에서는 cd .ssh로만 들어가주면 되요.
그 다음 아래 명령어를 개인 혹은 회사 깃헙 계정을 넣어서 입력합니다.
ssh-keygen -t rsa -C "email@example.com"
그럼 요렇게 SSH Key 이름을 지정해주라고 나와요!
우리는 개인과 회사 깃헙을 둘다 연동해야되니 구분할 수 있도록
id_rsa_me(개인)과 id_rsa_work(회사)로 지정해줄께요!
(비밀번호를 지정하라고 나오는데 넣으셔도 되고 안넣으셔도 됩니다.)
그럼 요렇게 성공적으로 SSH Key가 만들어집니다.
ls 명령어를 통해 .ssh 경로 내에 들어있는걸 확인해보면 아래와 같이 id_rsa_me와 id_rsa_me.pub 이 두 쌍의 파일이 만들어집니다.
(회사도 했으면 work로도 동일하게 쌍으로 만들어지겠죠?)
여기서 .pub 파일은 공개키 파일이고 .pub이 없는 파일은 비밀키 파일입니다.
그럼 이어서 SSHKey를 ssh-agent에 등록해야합니다.
2. SSH Key ssh-agent 등록하기
eval "$(ssh-agent -s)"
우선 터미널에서 위 명령어를 통해 SSH 에이전트를 백그라운드에서 실행 시켜주도록 해줍니다.
ssh-add -K ~/.ssh/id_rsa_me
그 다음 위 명령어를 통해 SSH Key를 추가해주면 됩니다.
이어서 깃헙에서 공개키 등록을 하로 가시죠🕺🏻
3. 깃헙에 공개키 등록하기
각 개인 / 회사 계정의 Setting 탭으로 들어가면 아래와 같이 SSH and GPG keys란 탭이 있습니다.
이 탭에서 SSH Keys 부분 New SSH Key 버튼을 눌러 생성해주겠습니다.
이렇게 Title과 Key를 입력하라고 나오는데요.
여기서 Title은 구분할 수 있게 원하시는 네이밍을 해주면 됩니다.
Key는 아까 우리가 SSH Key 생성을 통해 만든 공개키를 넣어주면 됩니다.
공개키를 확인하는 방법은 아래 명령어로 손쉽게 확인할 수 있습니다.
cat .ssh/id_rsa_me.pub
그럼 요렇게 공개키를 알려주고 이 키를 복붙해서 위 Key란에다가 입력 후 Add SSH Key를 눌러 등록해주면 됩니다!
그런 다음으로 이제 본격적으로 한 PC에서 두 깃헙 계정을 사용할 수 있도록 SSH Config 설정을 해야합니다.
4. SSH Config 설정하기
두 계정의 깃헙에서 해당하는 개인/회사의 SSH Key로 접근할 수 있도록 하기 위한 설정입니다.
.ssh 디렉토리에서 config 파일이 존재하고 있다면 해당 파일을 수정하면 되고 없다면 만들어주면 됩니다.
vi config
를 통해 config 파일을 열고 아래와 같이 입력해볼까요?
# Personal
Host github.com-me
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_me
# Company
Host github.com-work
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_work
이렇게 구분지어 입력할 수 있어요.
Host는 이제 구분지어 클론 받거나 설정할 때 사용하는 저장소 구분 용도라 보면 됩니다.
예를들어 어떤 개인 깃헙 계정의 프로젝트를 클론 받을때 SSH 클론을 통하면 보통 아래와 같이 나올꺼에요.
git@github.com:green/green-ios.git
이제 요 링크를 우리는 터미널에서 개인으로 구분해서 클론 시 아래와 같이 명령어를 입력해줘야합니다.
git clone git@github.com-me:green/green-ios.git
github.com 뒤에 -me가 붙은게 보이시나요?
아까 위에서 config 파일에서 설정한 Host를 따라가게 되는겁니다!
그리고 IdentityFile의 경로는 우리가 맨 처음 생성한 SSH Key 파일의 경로입니다.
이렇게 하면 설정은 끄읕~!
추가로 기존 PC에 존재하는 프로젝트가 있을 경우 변경이 필요한데요.
바로 알아보시죠ㅎㅎ
5. Git Config 설정하기
우선 해당 프로젝트 경로 내에 숨김으로 .git 폴더가 존재해요.
여기안에 config 파일이 있습니다.
해당 파일을 들어가셔서 수정해야 합니다.
// 변경 전
[remote "origin"]
url = git@github.com:green/green-ios.git
// 변경 후
[remote "origin"]
url = git@github.com-me:green/green-ios.git
보시면 url에서 동일하게 Host 네이밍 처럼 변경해주면 됩니다!
정상적으로 연결되었는지 테스트 해볼까요?
6. 연결 테스트하기
ssh -T git@github.com-me
Hi green! You've successfully authenticated, but GitHub does not provide shell access.
해당 프로젝트 경로에서 위 명령어를 입력하면 정상적으로 연결되었다면 환영 인사가 반겨주네요👍
마무리
다들 어렵지 않게 회사 개인 계정 모두 연동하여 사용할 수 있습니다😄😄
물론 개인 계정 잔디는 포기해야하지만요...🥲