Settings/Git

Git) 계정 2개 같은 호스트로 사용하기

Juzdalua 2025. 8. 1. 18:59

https://juzdalua.tistory.com/5

 

Git 여러 계정 사용하기

회사계정, 개인계정을 하나의 컴퓨터에서 사용하다보면 repository에 접근하기가 어려워진다.이를 위한 해결책은 bash에서 ssh key를 이용한 방법이 있다. 1. rsa 키 만들기ssh-keygen -t rsa -C "깃헙계정@em

juzdalua.tistory.com

 

위 글은 2달차 신입이 작성한 글이라 지금 다시 봐도 어지럽다.

그래서 다시 작성한다.

 

먼저 깃 계정 2개가 필요하다. 회사계정 1개, 개인 계정 1개라 가정한다.

계정1: a@a.a

계정2: b@b.b

 

각각 키를 만들고, 각 계정의 Git ssh 정보를 입력한다.

ssh키의 정보는 .pub 파일이 아닌 확장자가 명시되지 않은 파일의 내용을 전부 복사하면 된다.

ssh-keygen -t rsa -C "a@a.a" -f id_rsa_a # id_rsa_a 파일에 암호정보 있음.
ssh-keygen -t rsa -C "b@b.b" -f id_rsa_b # id_rsa_b 파일에 암호정보 있음.

깃 로그인 -> 깃 프로필 사진 -> setting -> SSH and GPG keys

 

id_rsa_a / id_rsa_a.pub / id_rsa_b / id_rsa_b.pub 파일 4개롤 ~/.ssh 폴더로 이동한다.

폴더가 없으면 만든다.

config 파일 작성.

code ~/.ssh/config
# a 계정
Host github.com
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_rsa_a

# b 계정
Host github.com
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_rsa_b

호스트가 같으므로 한번에 두개의 키를 동시에 사용할 수 없다. 있지만 푸쉬할 때 키를 순회한다고 하기 때문에 하지 않을거다.

 

이제 터미널에 작성하기 귀찮으므로 스크립트 파일을 만들어 실행한다.

원하는 위치에 생성.

vim ssh-a
ssh-add -D
ssh-add ~/.ssh/id_rsa_a
git config --global user.name "a"
git config --global user.email "a@a.a"

 

동일하게 b 스크립트 파일도 만들어준다.

간단한 명령어를 작성해보자면 아래와 같다.

# a 키 등록
ssh-add id_rsa_a

# 에러가 발생한다면 아래를 입력하고 키 다시 등록
eval $(ssh-agent)

# 등록된 키 삭제
ssh-add -D

# 등록된 키 조회
ssh-add -l

# 등록된 키에 대한 사용자명을 "a"로 변경
git config --global user.name "a"

# 등록된 키에 대한 사용자 email을 변경
git config --global user.email "a@a.a"

# 현재 등록된 키에 대한 사용자 정보
git config --list


a로 커밋/푸시를 하고 싶다면 아래처럼 입력 후 커밋/푸시

./ssh-a

b계정도 이와 동일하다.

 

아래와 같은 에러가 발생한다면, 권한을 조정하면 된다.

Permissions are too open / WARNING: UNPROTECTED PRIVATE KEY FILE!

 

chmod 600 ~/.ssh/id_rsa_a
chmod 644 ~/.ssh/id_rsa_a.pub
chmod 700 ~/.ssh

'Settings > Git' 카테고리의 다른 글

Git) Push 취소하기  (0) 2023.02.07
Git) Git branch 삭제 후 생성  (0) 2022.08.11
Git) .gitignore 적용 안됨  (0) 2022.08.09
Git 여러 계정 사용하기  (0) 2022.01.13
Window git bash를 zsh로 실행하기  (0) 2022.01.13