본문 바로가기
Programming/개발툴 SW

[github] 1대의 pc 에서 github.com 의 2개 계정을 사용하는 방법

by BitSense 2025. 3. 4.

github.com에 여러 계정이 있습니다. 여러 앱을 사용하지 않고 github desktop app을 사용하려고 하니 2개 이상 ID를 공식적으로 허용하지 않습니다. 그래서 다른 방법이 없을까... 괜한 생각에 자료를 찾아봤습니다.

여러 GitHub 계정을 CLI에서 동시에 사용하기 위해, 각 계정별로 SSH 키를 생성하고 Git 설정을 분리하는 방법을 단계별로 설명드리겠습니다.

 

1. 각 계정별 SSH 키 생성

1. 터미널에서 각 계정용 SSH 키 생성

예를 들어, 개인 계정과 업무 계정이 있다면 다음과 같이 명령어를 실행하세요.

# 개인 계정용 SSH 키 생성 (이메일: personal@example.com)
ssh-keygen -t ed25519 -C "personal@example.com" -f ~/.ssh/id_ed25519_personal

# 업무 계정용 SSH 키 생성 (이메일: work@example.com)
ssh-keygen -t ed25519 -C "work@example.com" -f ~/.ssh/id_ed25519_work

명령 실행 시 암호 입력은 필요에 따라 설정할 수 있습니다.

 

2. ssh-agent에 SSH 키 추가

1. ssh-agent 실행 확인 및 시작

다음 명령어로 ssh-agent가 실행 중인지 확인한 후, 실행되어 있지 않으면 시작합니다.

eval "$(ssh-agent -s)"

 

2. 각 SSH 키를 ssh-agent에 추가

ssh-add ~/.ssh/id_ed25519_personal
ssh-add ~/.ssh/id_ed25519_work

 

3. SSH 설정 파일(~/.ssh/config) 구성

1. 터미널에서 ~/.ssh/config 파일 열기

파일이 없으면 새로 생성합니다.

2. 아래와 같이 계정별 호스트 별칭(alias) 설정 추가

# 개인 GitHub 계정
Host github-personal
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_ed25519_personal

# 업무 GitHub 계정
Host github-work
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_ed25519_work

이 설정을 통해, 각각의 계정에 대해 github-personalgithub-work라는 별칭을 사용할 수 있습니다.

 

4. 리포지토리 원격 URL 설정 변경

각 계정에 맞게 리포지토리의 원격 URL을 설정합니다.

1. 기존 리포지토리의 원격 URL 수정

예를 들어, 개인 계정 리포지토리라면:

git remote set-url origin git@github-personal:username/repository.git

업무 계정 리포지토리라면:

git remote set-url origin git@github-work:username/repository.git

여기서 username/repository.git은 해당 GitHub 계정의 사용자 이름과 리포지토리 이름으로 변경하세요.

 

2. 새 리포지토리 클론 시 별칭 사용

새로 클론할 경우, 아래와 같이 별칭을 이용해 클론합니다.

# 개인 계정
git clone git@github-personal:username/repository.git

# 업무 계정
git clone git@github-work:username/repository.git

 

5. 리포지토리별 Git 사용자 정보 설정 (선택 사항)

각 리포지토리에서 커밋 시 올바른 사용자 정보가 사용되도록, 리포지토리 별로 로컬 Git 설정을 추가할 수 있습니다.

1. 리포지토리 폴더로 이동 후 설정

# 개인 계정 리포지토리의 경우
cd /path/to/personal-repo
git config user.name "Personal Name"
git config user.email "personal@example.com"

# 업무 계정 리포지토리의 경우
cd /path/to/work-repo
git config user.name "Work Name"
git config user.email "work@example.com"

 

요약

SSH 키 생성: 각 계정용으로 별도의 키 파일 생성

ssh-agent 추가: 생성한 키들을 ssh-agent에 추가

SSH 설정: ~/.ssh/config 파일에 각 계정별 호스트 별칭(alias) 설정

원격 URL 변경: 리포지토리의 원격 URL을 별칭을 사용하도록 수정

로컬 Git 사용자 정보 설정: 각 리포지토리에서 올바른 커밋 정보 사용

 

이렇게 구성하면 CLI에서는 동일한 Mac에서 여러 GitHub 계정을 손쉽게 사용할 수 있으며, 리포지토리마다 올바른 SSH 키를 통해 인증이 이루어집니다. 다만, 이 설정은 GitHub Desktop 앱에는 직접 적용되지 않으므로 CLI와 로컬 저장소 원격 설정에 주로 활용됩니다.

반응형