회사에서 사내망 프로젝트만 진행하다가 사외망 프로젝트를 진행하게 되어 외부망 깃 계정을 만들었다.
문제는 내 맥북의 인텔리제이에서 개인 Git을 로그아웃하지 않고 두개를 동시에 쓰고 싶었다는 점이다.
결론적으로 아래와 같이 하면 할 수 있다.
1. 키 생성하기
터미널에 다음을 입력한다.
개인용 키
ssh-keygen -t rsa -b 4096 -C "[personal_email@example.com](<mailto:personal_email@example.com>)" -f ~/.ssh/id_rsa_github_personal
회사용 키
ssh-keygen -t rsa -b 4096 -C "[work_email@example.com](<mailto:work_email@example.com>)" -f ~/.ssh/id_rsa_github_work
2. 키 파일 확인하기
터미널에 다음을 입력한다.
ls -al ~/.ssh
결과는 다음과 같이 나오면 된다.
❯ ls -al ~/.ssh
total 48
drwx------ 8 minisun staff 256 Oct 24 09:49 .
drwxr-x---+ 54 minisun staff 1728 Oct 24 09:49 ..
-rw-------@ 1 minisun staff 3389 Oct 24 09:49 id_rsa_github_personal
-rw-r--r--@ 1 minisun staff 746 Oct 24 09:49 id_rsa_github_personal.pub
-rw-------@ 1 minisun staff 3389 Oct 24 09:49 id_rsa_github_work
-rw-r--r--@ 1 minisun staff 750 Oct 24 09:49 id_rsa_github_work.pub
-rw------- 1 minisun staff 864 Oct 17 11:07 known_hosts
-rw-r--r-- 1 minisun staff 104 Oct 17 11:06 known_hosts.old
~ at 09:51
❯
키 파일이 잘 생성된 것을 알 수 있다!
3. 설정 파일 생성하기
nano ~/.ssh/config
그리고 붙여넣기
Host github-personal
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_github_personal
Host github-work
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_github_work
Ctrl + X ⇒ yes 해서 저장한다.
4. 퍼블릭 키 복사해서 GitHub에 등록
cat ~/.ssh/id_rsa_github_personal.pub
cat ~/.ssh/id_rsa_github_work.pub
해서 나온 값을 복사해서
각각 GitHub에서
👉 Settings > SSH and GPG keys > New SSH key 로 이동하여 붙여넣는다
이름은 자유!
나는 다음과 같이 생성했다.

회사 리파지토리에서 SSO 인증을 요구하는 경우
- Enable SSO 버튼 클릭,
- Enable SSO 버튼이 없는 경우
- https://github.com/orgs/vtt-media-ai/sso 링크 접속 후
- Authorize SSH key 버튼 클릭
5. Public Key 등록 확인
터미널에 다음을 입력
ssh -T github-work
다음과 같이 나오면 성공
at 10:19
❯ ssh -T github-work
Hi Username! You've successfully authenticated, but GitHub does not provide shell access.
6. 프로젝트마다 다른 Git 계정 설정
6-1. 이미 클론된 프로젝트에 대해 리모트만 바꿔주기
프로젝트마다 어떤 계정을 쓸지 리모트 URL로 결정한다.
6-1-1. 터미널에서
# 개인 계정으로 쓰는 리포
git remote set-url origin git@github-personal:PERSONAL/repo.git
# 회사 계정으로 쓰는 리포
git remote set-url origin git@github-work:COMPANY/repo.git
6-1-2. IntelliJ UI로
VCS > Git > Remotes… → origin URL을
git@github-personal:... 또는 git@github-work:... 로 수정 → OK
리모트의 Host 별칭(github-personal / github-work)이 ~/.ssh/config의 키를 자동으로 골라준다.
ssh -T github-personal
ssh -T github-work
git fetch
git push
각각 “You've successfully authenticated”가 뜨면 정상.
2. 클론 단계부터 계정 분리하기
회사 계정 리포 클론 받을 때
회사 계정으로 클론할 때는 꼭 아래처럼 github-work 호스트 이름을 써야 한다
git clone git@github-work:COMPANY_ORG/REPO_NAME.git
지정된 디렉토리에 클론하기~
git clone git@github-work:COMPANY_ORG/REPO_NAME.git my-folder-name
'TIL(Develop)' 카테고리의 다른 글
| [Design Pattern]빌더 패턴 적용 회고: 희망편과 절망편 (0) | 2025.05.19 |
|---|---|
| 오버라이딩과 오버로딩 차이 (0) | 2024.05.23 |
| JVM(Java Virtual Machine) (0) | 2024.05.17 |
| 멀티스레드와 스레드 풀 / 스레드와 프로세스의 차이 (0) | 2024.05.17 |
| Java의 메모리 관리와 가비지 컬렉션 (0) | 2024.05.16 |