github id를 2개를 사용하다보니 SSH Key가 필요하게 되어 생성하게 되었다
오늘은 그 과정에 대해 공유해보도록 하겠다
$ mkdir ~/.ssh/
$ ssh-keygen -t rsa -b 4096 -C "personal@gmail.com"
Enter file in which to save the key (~/.ssh/id_rsa): id_rsa_personal
여기서 이메일은 당연히 github을 로그인 할 때 사용하는 이메일이다
암호를 정해야 하는데 나는 귀찮아서 엔터쳐서 그냥 넘겼다
Enter passphrase (empty for no passphrase): Enter same passphrase again:
~/.ssh/id_rsa_personal.pub
에 있는 내용을 모두 복사해줘야 된다
맥을 사용한다면
$ cat id_rsa_personal.pub | pbcopy
혹은
$ pbcoby < id_rsa_personal.pub
나는 wsl2: ubuntu 20.04 lts
를 사용하므로
$ cat id_rsa_personal.pub
에서 출력되는 것을 직접 복붙하였다
붙여넣고 저장해야 될 곳은
github.com login
→ profile click
→ Settings
→ SSH and GPG keys
→ new SSH key
→ title에는 아무거나
→ key에는 복사한 것을 붙여넣기
→ save
$ ssh-add ~/.ssh/id_rsa_personal
The authenticity of host 'github.com (xxx.xxx.xxx.xxx)' can't be established.
ECDSA key fingerprint is
SHA256: *****************************************
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
yes
를 입력해주면
Hi personal! You've successfully authenticated, but GitHub does not provide shell access.
Hi personal! You've successfully authenticated이 부분이 중요한 거고 뒤에 에러문은 무시해도 된다
daemon에 추가된 ssh키는 다움과 같이 확인하면 된다
ssh-add -l
$ pwd
/home/{User}/.ssh
$ nano config
# 개인용 계정
Host personal
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_personal
# 회사용 계정
Host work
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_work
이렇게 두 개의 계정을 만들고 이를 저장한다
Ctrl + x
→ y
→ Enter
config
파일 작성을 마쳤다면 테스트를 해보도록 하자
$ ssh -T git@personal
Hi personal! You've successfully authenticated, but GitHub
does not provide shell access.
이 부분이 처음이라면 연결을 허락할 거냐고 물어보는데
yes
를 입력하면 된다
이제 clone을 할 때 {Host}
, {User}
, {Repository}
를 이용하여 간단하게 할 수 있다
예를 들면
$ git@Personal:MyUserName/MyRepositoryName.git
하지만 이렇게하면 local
에서 맨 처음 로그인한 계정으로 push
, pull
이 될 것이다
이를 나눠주는 작업이 남아있다
(추후 업로드하기로 하겠다😢)
reference
머신 한 대에서 GIT 계정 여러개 사용하기
SSH connection to GitHub
윈도우즈의 SSH Key 와 WSL의 SSH Key 관리 - WSL
한 컴퓨터에서 여러 개의 깃허브 계정 사용하기
GIT BASH 개인키 등록시 에러