한 컴퓨터에서 github 계정 두개 이상 연동하기

2021. 1. 13. 18:04·Git
# Personal account-userA
Host github.com-userA
	HostName github.com
	User git
   	IdentityFile ~/.ssh/id_rsa_userA
    
# Personal account-userB
Host github.com-userB
	HostName github.com
	User git
   	IdentityFile ~/.ssh/id_rsa_userB​
	# Personal account-userA 
    Host github.com-userA
		HostName github.com
		User git
       	IdentityFile ~/.ssh/id_rsa_userA
    
    # Personal account-userB
    Host github.com-userB
		HostName github.com
		User git
      	IdentityFile ~/.ssh/id_rsa_userB
 ~/.ssh/

vscode를 사용하여 github를 연동할 경우 window의 자격 증명에 하나의 github계정만 연동이 됩니다. 이러다 보니 a계정을 연동을 시켜놓았을 때, b계정의 repo에서 작업을 한 후 commit하면 a계정으로 commit이 된 것으로 나타납니다.

 

만약 b계정의 repo가 private로 되어 있다면 b계정으로 다시 연동을 하지 않으면 push도 되지 않습니다. 이러한 번거로운 작업을 해결 하기 위해서는 ssh를 설정하면 됩니다.

 

1. ssh-key 생성하기

터미널에 아래 명령어를 입력하여 ~/.ssh/ 폴더로 이동한 후 ssh-key를 생성합니다.

 ~/.ssh/
$ ssh-keygen -t rsa -C "userA@my_email.com" -f "id_rsa_userA"
$ ssh-keygen -t rsa -C "userB@my_email.com" -f "id_rsa_userB"

앞에 "userA@my_email.com"와 "userB@my_email.com"는 사용할 github 계정을 입력합니다. ""id_rsa_userA"와 "id_rsa_userB"는 ssh의 파일 이름입니다. 본인에게 편한 이름을 입력하면 됩니다.

 

2. ssh-key 적용하기

~/.ssh/config에 아래와 같이 입력합니다. config파일이 없다면 생성합니다.

# Personal account-userA 
Host github.com-userA
	HostName github.com
	User git
   	IdentityFile ~/.ssh/id_rsa_userA
    
# Personal account-userB
Host github.com-userB
	HostName github.com
	User git
   	IdentityFile ~/.ssh/id_rsa_userB

Host에 적혀있는 github.com 뒤에 -userA -userB는 추후에 github repo에 연결할 url이름입니다. 원하시는 이름을 적으시면 됩니다.

 

ssh-key의 config 설정이 완료된 후에 github를 clone이나 ssh를 연결할 폴더에 .gitconfig 파일 생성한 후 아래와 같이 폴더에 연결할 github계정을 적습니다.

[user]
	email = userA@my_email.com

 

3. ssh-key 깃허브에 적용하기

~/.ssh/ 폴더에 가면 .pub 확장자 파일 안에 ssh-key가 있습니다.

ssh-rsa AAAAB3NzaC1yc ... = userA@my_email.com

이것을 모두 복사 한 후 github setting으로 갑니다.

아래 탭에서 new ssh key를 눌러 ssh key를 등록합니다. title은 편하신 이름으로 설정한 후 key부분에 복사한 ssh-key를 입력하면 됩니다. 완료가 되면 아래와 같이 ssh key가 연동됩니다.

이 후 로컬의 폴더로 가서 아래 명령어를 입력합니다.

$ ssh-add ~/.ssh/id_rsa_userA

 

만약 Could not open a connection to your authentication agent 에러가 뜬다면 아래 명령어를 입력 합니다.

$ eval $(ssh-agent)
$ ssh-add ~/.ssh/id_rsa_userA

4. clone 또는 계정 연동하기

ssh clone 주소는 git@github.com:github계정/repo이름.git로 되어 있을 것 입니다. 여기에 ~/.ssh/config에서 작성했던 Host를 추가해야합니다.

// ~/.ssh/config
Host github.com-userA
...

// ssh 주소
git@github.com-userA:github계정/repo이름.git 

위의 ssh 주소를 clone할 때 사용하면 됩니다. 만약 이미 clone한 repo라면 아래 명령어를 입력하여 업데이트 하면 됩니다.

git remote set-url origin git@github.com-userA:github계정/repo이름.git 
반응형
저작자표시 비영리 변경금지 (새창열림)

'Git' 카테고리의 다른 글

github ssh 설정  (0) 2020.07.01
다른 계정의 pripvate repo 작업하기  (0) 2020.06.23
git flow  (0) 2019.05.04
git rebase / squash  (0) 2019.05.04
git reset  (0) 2019.05.04
'Git' 카테고리의 다른 글
  • github ssh 설정
  • 다른 계정의 pripvate repo 작업하기
  • git flow
  • git rebase / squash
vitnal
vitnal
4년차 프론트엔드 개발자 입니다. 이 블로그는 기록하고 싶은 내용을 저장하기 위해 사용하고 있습니다. 정제되지 않은 내용이 있을 수 있는 점 양해 부탁드립니다.
  • vitnal
    vitnal 아카이브
    vitnal
  • 전체
    오늘
    어제
    • 분류 전체보기 (155)
      • What I Read (3)
      • AI (5)
      • WEB (8)
      • React (21)
      • Nextjs (17)
      • JavaScript (16)
      • React Native (5)
      • Git (15)
      • Dev Tools (23)
      • Deploy (12)
      • Tech Memo (22)
      • Retrospect (7)
  • 반응형
  • hELLO· Designed By정상우.v4.10.5
vitnal
한 컴퓨터에서 github 계정 두개 이상 연동하기
상단으로

티스토리툴바