기존에는 GitHub Desktop을 사용해서 그날그날 공부한걸 정리해서 커밋해 두었는데...
회사 깃허브 계정이 생기고서 기존에 사용하던 계정에 로그인하는게 번거로워서 로컬에 쌓아두고 있었다
뭔가 방법이 없을까하고 구글링을 하던 중에 ssh key를 사용해 한 개의 컴퓨터에서 여러개의 깃허브 계정을 사용할 수 있다고해서 차근차근 정리를 해본다
👉 기본 원리는 한 개의 컴퓨터에서 두 개의 ssh key를 생성하고 하나는 개인 계정, 하나는 회사 계정에 연결해 사용하는 것이다
두 개의 깃허브 계정을 준비한다
(🦋:개인계정, 🐝: 회사계정)
무슨생각으로 계정 이름을 지었는지 알 수 없지만... 정말 헷갈리게 대충 지었다
깃허브에 연동된 이메일은 Setting → Emails 에서 확인 할 수 있다
우선 ssh key는 ~/.ssh 폴더안에서 생성되어야해서 cd ~/.ssh
명령어를 통해 이동해준다
다음 명령어를 통해 ssh key를 생성한다
계정이름은 구분하기위한 용도라서 아무렇게나 설정해도 된다
ssh-keygen -t rsa -C "계정@gmail.com" -f "계정이름"
## example
🦋 ssh-keygen -t rsa -C "lena@gmail.com" -f "id_rsa_personal"
🐝 ssh-keygen -t rsa -C "lena@회사계정.com" -f "id_rsa_corp"
명령어를 입력하면 아래와 같은 문구가 나오면서 비밀번호를 설정할 수 있지만 그냥 빈칸으로 엔터를 쳐서 넘어간다
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
완료되면 다음과 같은 문구가 나온다
ls ~/.ssh
명령어를 통해 생성되었는지 파악할 수 있다
생성되었다면 계정이름으로 된 파일과 계정이름.pub 파일을 각각 확인 할 수 있다
위에서 생성한 계정이름을 통해 SSH Key를 등록해준다
ssh-add 계정이름
🦋 ssh-add id_rsa_personal
🐝 ssh-add id_rsa_corp
이렇게 하면 ssh key가 등록된다
cat ~/.ssh/{계정이름}.pub
Github → Settings → SSH and GPG keys → New SSH key 에 이전단계에서 확인한 SSH key를 넣어준다
(없다면 vi편집기를 통해 생성하기!)
다음내용을 config 에 적어준다
## 개인계정
Host personal-github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_personal
## 회사계정
Host corp-github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_corp
여기서 Host 뒤에 적은 personal-github.com 여기가 중요하다!!
다음 명령어를 입력하면 연결을 계속 할거냐고 물어보는데 yes 입력하면 성공적으로 등록된다
ssh -T corp-github.com
ssh -T personal-github.com
이제 클론할 때 SSH를 이용해 클론하게 될텐데 ... !
git@github.com:yena-lena/shop_app.git 에서 앞부분 github.com을 config 에서 설정한 이름으로 변경한다
git clone git@personal-github.com:yena-lena/shop_app.git
을 통해 연결해주면 계정관리를 편하게 할 수 있다!!!!
드디어 해결