macOS에서 여러 GitHub 계정 사용하는 방법 (SSH 중심)
회사 계정과 개인 계정을 구분해서 GitHub를 쓰고 싶을때..
매번 어떻게 어떻게 했었는데 정리가 안되었어서 이번기회에 정리합니다.
macOS 환경에서 SSH 방식으로 GitHub 여러 계정을 깔끔하게 설정하는 방법
✅ 방법 개요
GitHub 계정별로 별도의 SSH 키를 만들고, ~/.ssh/config
에 설정해주는 방식입니다.
왜 SSH가 더 나은지?
- 토큰 입력 없이 인증 자동화
- 계정별로 구분해 push/pull 가능
- 한 번만 설정하면 편리하게 사용 가능
1️⃣ 계정별 SSH 키 생성
# 개인 계정
ssh-keygen -t ed25519 -C "your-email@example.com" -f ~/.ssh/id_ed25519_personal
# 회사 계정
ssh-keygen -t ed25519 -C "your-email@example.com" -f ~/.ssh/id_ed25519_work
.pub
파일이 공개키입니다. GitHub에 등록합니다.
2️⃣ GitHub에 공개키 등록
- 공개키 복사
pbcopy < ~/.ssh/id_ed25519_personal.pub
- GitHub 접속 → 오른쪽 상단 프로필 → Settings → SSH and GPG keys
- "New SSH key" 클릭 → 이름 입력 & 복사한 키 붙여넣기
- 계정별로 반복
3️⃣ SSH 설정 파일 구성
# ~/.ssh/config
Host github-personal
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_personal
Host github-work
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_work
4️⃣ 원격 저장소 주소 변경
# 개인 계정 레포
git remote set-url origin git@github-personal:your-personal-id/your-repo.git
# 회사 계정 레포
git remote set-url origin git@github-work:your-work-id/your-repo.git
github-personal
,github-work
는 config에서 설정한 Host 별칭입니다.
5️⃣ SSH 연결 테스트
ssh -T git@github-personal
ssh -T git@github-work
Hi your-id! You've successfully authenticated...
메시지가 뜨면 성공입니다.
🧩 자주 발생하는 이슈
🔒 인증은 되는데 push가 안 될 때?
git remote -v
- 원격 주소의 Host 별칭이 잘못되었을 수 있습니다.
- 아래처럼 수정하세요:
git remote set-url origin git@github-personal:your-id/your-repo.git
🔑 ssh-agent 관련 오류
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519_personal
ssh-add ~/.ssh/id_ed25519_work
- 인증 에이전트에 SSH 키를 수동으로 등록해 주세요.
🌐 브라우저에서 계정 분리 팁
- GitHub 웹사이트는 시크릿 모드 또는 브라우저 프로필 분리로 계정을 나눠 로그인하면 편합니다.
🧵 귀찮지만...
한 번만 설정해두면 계정 간 충돌 없이 쾌적하게 GitHub을 사용할 수 있는 최고의 방법인 듯 합니다.
- 회사 계정은
Host github
- 개인 계정은
Host github-personal
이런 식으로 설정하면 기존 워크플로우도 그대로 유지 가능..
'TIL' 카테고리의 다른 글
[250712 TIL] fastapi 제너레이터 궁금증 (0) | 2025.07.12 |
---|---|
[250712 TIL] FastAPI 기초(uv) (2) | 2025.07.12 |
[250617 TIL] Docker dangling 이미지 삭제 (0) | 2025.06.17 |
[250616 TIL] JSON-LD (0) | 2025.06.17 |
[250530 TIL] Responses API 스트리밍 (0) | 2025.05.30 |