git 대부분 깃허브 한 계정으로 만 사용할 것 이다. 그러나, 회사 계정이 따로 있는 경우 살짝 골치가 아파진다.
왜냐하면, 깃허브는 ssh키만 사용해서 퍼블릭 레포지토리 작업을 해야하기 때문에 ssh키가 여러개 필요해지기 때문이다.
다들 알다 시피 ssh키는 ssh-keygen명령어로 생성하고, ~/.ssh폴더에 저장된다.
ls ~/.ssh # 폴더 있는지 확인하기
mkdir ~/.ssh # 폴더 없으면 생성해주기
ssh-keygen -C "jongrok@naver.com" -f .ssh/id_1 # 첫 번째 아이디 생성하기
위 명령어를 통해 첫 번째 아이디를 만들었으면, 원래 하던 대로 깃허브에 ssh키를 추가해주자.
ssh-keygen -C "jongrok2@naver.com" -f .ssh/id_2 # 두 번째 아이디 생성하기
똑같이 두번 째 아이디 만들어 주고, 깃허브에 키를 추가하자.
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_1
ssh-add ~/.ssh/id_2
다 했으면 추가한 키를 ssh 에이전트에 넣어주자. 이거 해야 구분이 가능하다.
자 이제 2개의 깃허브 계정에 각각 해당하는 ssh키를 만들었으면 어떤 키가 어느 계정 키인지 인식시켜줘야한다.
vim ~/.ssh/config
위 파일을 열어 아래 내용을 추가해주자.
Host github.com-1
HostName github.com
User git
IdentityFile ~/.ssh/id_1
Host github.com-2
HostName github.com
User git
IdentityFile ~/.ssh/id_2
이제 다 끝났다. 아래 명령어로 잘 연결 되었는지 확인해주자
ssh -T git@github.com-1
ssh -T git@github.com-2
이제 부터 git@github.com:회사깃헙이름/깃헙레파지토리.git 이렇게 사용하던 주소를 아래와 같이 구분해서 사용만 해주면 된다. 중요하니 잘 숙지하자.
git@github.com-1:회사깃헙이름/깃헙레파지토리.git
git@github.com-2:개인깃헙이름/깃헙레파지토리.git