[ssh] github계정 여러개 사용하기

Inhye Jeong·2020년 8월 23일
0

Git

목록 보기
4/7

회사에서 발급받은 github 계정과 개인 github 계정을 ssh 설정을 통해 커밋시에 원하는 계정으로 커밋 로그 author가 남도록 설정하는데, 나는 GitKraken이라는 git client 툴을 사용하면서 겪은 삽질을 기록 ㅠㅠ한다.

1. 회사계정의 ssh key발급

> ssh-keygen -t ed25519 -C "회사@이메일.계정" "~/.ssh"
Generating public/private rsa key pair.
Enter file in which to save the key (~/.ssh/): id_rsa_work
Enter passphrase (empty for no passphrase): <Type the passphrase>

2. 발급 받은 ssh key를 github 회사계정에 등록

1) ssh public key를 아래의 명령어로 복사

> cat id_ed25519.pub | pbcopy

2) github 로그인 > 우상단 Settings > SSH and GPG Keys

1)에서 복사한 ssh public key를 붙여넣고 등록

3. 생성한 ssh key를 ssh-agent에 등록

1) ssh agent 실행

> eval "$(ssh-agent -s)"

2) ssh key 추가

> ssh-add -K ~/.ssh/id_rsa_work

--- 여기까지 동일한 방법으로 ~/personal 디렉토리에서 personal ssh key를 id_rsa_me 이름으로 한번 더 생성한다.

4. gitconfig 설정

1) ~/.gitconfig를 아래와 같이 수정

[user]
    name = InhyeJeong
    email = 회사@이메일.계정 # Global로 설정되는 이메일 주소

[includeIf "gitdir:~/personal/"]
    path = ~/personal/.gitconfig # 계인 개정에 사용할 이메일 주소

2) ~/personal/.gitconfig를 아래와 같이 수정

[user]
    name = Inhye Jeong
    email = 개인@이메일.계정 # 개인 계정에 사용할 이메일 주소

5. ssh config 설정

~/.ssh/config 에서 아래와 같이 수정

# 개인 계정
Host github.com-me
	HostName github.com
	User git
	IdentityFile ~/personal/id_rsa_me

# 회사 계정
Host github.com-work
	HostName github.com
	User git
	IdentityFile ~/.ssh/id_rsa_work

5-1. ssh key remote확인

> ssh -T git@github.com-me
Hi InhyeJeong! You've successfully authenticated, but GitHub does not provide shell access.

6. gitKraken 설정

1) preference > ssh

위에서 발급한 private, public ssh key를 각각 등록한다.
(id_rsa_work 이름으로 생성한 ~/.ssh에 존재하는 ssh key등록)

2) preference > integration > github

connect를 누르면 auth를 설정하는 페이지가 열리는데, 위에서 설정한 ssh key가 등록된 github계정으로 로그인하면 connect라고 초록색으로 연동된 것을 확인할 수 있다.

sso 설정이 안되어 있다면 github 회사 계정 로그인 후, sso인증을 enabled 하면 push, pull이 정상 동작된다. 오예-

7. repo clone

clone할 repo에 들어가서 "clone and download" 를 클릭하고, Use ssh를 누른다음 ssh 형식으로 바뀐 url로 클론하면 된다.

reference

8. gitKraken에서 깃헙 계정 switching

1) preference 연다.

command + ,

2) SSH 메뉴

ssh private, ssh public key를 원하는 계정에 맞게 교체

3) Integrations

  • 기존에 연결된 계정이 있다면 Disconnect해준다.
  • 웹 브라우저에서 교체를 원하는 깃헙 계정으로 로그인해둔다.
  • 다시 Connect를 눌러주면 알아서 교체됨.

4) Profiles 메뉴

  • edit profile > email을 교체를 원하는 깃헙 계정으로 업데이트
profile
Frontend Engineer in @ProtoPie

0개의 댓글