=================
== The Archive ==
=================

여러 개의 Github 계정을 한 곳에서 동시에 사용하기

|

SSH 키들을 생성

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# OSX에서 사용자의 ssh 키를 저장하는 디렉토리이다. 일단 여기로 이동해서 작업해야 편하다.
$ cd ~/.ssh

# 깃허브 개인 계정에서 사용중인 이메일주소로 ssh 키를 생성하는 명령어. 굳이 깃허브 계정과 동일할 필요는 없다.
$ ssh-keygen -t rsa -b 4096 -C "youremail@forpersonal.com"
Generating public/private rsa key pair.
Enter a file in which to save the key (/Users/yourusername/.ssh/id_rsa) : id_rsa_personal

# 깃허브 업무 계정에서 사용중인 이메일주소로 ssh 키를 생성하는 명령어. 굳이 깃허브 계정과 동일할 필요는 없다.
$ ssh-keygen -t rsa -b 4096 -C "youremail@forwork.com"
Generating public/private rsa key pair.
Enter a file in which to save the key (/Users/yourusername/.ssh/id_rsa) : id_rsa_work

깃허브 계정에 키를 추가

1
2
# 클립보드에 id_rsa_personal.pub 의 내용을 복사함
$ pbcopy < ~/.ssh/id_rsa_personal.pub

~/.ssh/config 설정

1
2
3
4
5
6
7
8
9
Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa_personal   // id_rsa_work 로 써도 상관없다. 본인이 맞게 설정

Host example.github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa_work       // id_rsa_personal 로 써도 마찬가지로 상관없다.

새로운 키들을 로컬에 저장

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# 현재 저장되어있는 identities를 삭제
# 주의!!
$ ssh-add -D

# 새로운 키들 등록
$ ssh-add id_rsa_personal
$ ssh-add id_rsa_work

# 제대로 저장되었는지 확인
$ ssh-add -l

# 깃허브가 키들을 인식하는지 확인
# ~/.ssh/config 에서 Host를 입력하면 된다.
# successfully authenticated 가 뜨면 정상적
$ ssh -T personal.github.com
$ ssh -T work.github.com

~/.gitconfig 설정

1
2
3
4
5
[user]
    email = {personal_email}
    name = {personal_name}
[includeIf "gitdir:~/work_directory/"]
    path = .gitconfig-work
1
2
3
4
5
[user]
    email = {work_email}
    name = {work_name}
[github]
    user = {work_name}

테스트

References

Categories:

Tags: