728x90
| 해당 포스트는 맥북에서 설정하였습니다.
GitHub을 사용하다 보면 업무용계정과 개인용계정을 따로 사용해야 하는 경우가 발생할 수 있습니다.
두 개 이상의 계정을 활용해야 할때 설정하는 방법입니다.
1. 키체인 삭제
기존에 등록되어 있는 키체인 정보를 삭제합니다.키체인 접근
앱에서 gihub.com
에 등록된 정보를 삭제합니다.
2. ssh-key 생성하기
개인계정과 업무계정에 사용할 ssh key
를 생성합니다.
생성은 .ssh
디렉토리에서 생성합니다. .ssh
디렉토리가 없으면 디렉토리를 생성합니다.
# .ssh 디렉토리 이동
cd ~/.ssh
# ssh key 생성
ssh-keygen -t rsa -b 4096 -C "<github 계정 email주소>"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/collabo/.ssh/id_rsa): #생성할 파일명 입력
Enter passphrase (empty for no passphrase): # Enter
Enter same passphrase again: # Enter
- 키 생성시 개인용과 업무용 구분을 위해 파일명을 구분합니다.
- 개인용 key
id_rsa_private, id_rsa_private.pub
와 업무용 keyid_rsa_work, id_rsa_work.pub
의 생성결과를 확인 합니다.
3. ssh-key 등록
ssh-add --apple-use-keychain id_rsa_private
ssh-add --apple-use-keychain id_rsa_work
4. github에 공개키 등록
로컬에서 생성한 공개키를 복사하고 pbcopy < ~/.ssh/id_rsa_work.pub
github에 등록합니다.
- 우측 상단의 계정 이미지를 클릭하고 펼쳐진 서브 메뉴들에서
Settings
를 선택한다. Settings
의 좌측 메뉴에서SSH and GPG keys - New SSH Key
메뉴를 클릭하고 복사한 키를 붙여 넣습니다.- Title : 식별할 수 있는 이름
- Key :
id_rsa_work.pub
복사한 key
- 생성한 개인용, 업무용 계정 별로 등록하여 줍니다.
5. ssh config 설정
~/.ssh
디렉터리에 config 파일이 존재하는지를 확인하고 없다면 새로 생성합니다.
github.com에 대한 접속 정보를 아래와 같이 설정해 줍니다.
# private account
Host github.com-private
HostName github.com
User private # github 계정 이름
IdentityFile ~/.ssh/id_rsa_private # 비밀키 파일
# work account
Host github.com-work
HostName github.com
User work # github 계정 이름
IdentityFile ~/.ssh/id_rsa_work # 비밀키 파일
- Host : 저장소 구분 값
[SSH 등록 테스트]
등록한 키 값별로 ssh -T git@github.com-work
입력하여 아래 문구가 출력되면 정상입니다.
You’ve successfully authenticated, but GitHub does not provide shell access.
※ 개인용도 동일하게 테스트 합니다.
6. Remote 저장소 설정
GitHub에서 SSH URL로 clone 받거나 이미 Remote가 지정된 경우 다음과 같이 변경할 수 있습니다.
SSH Config 구성 시 HostName을 github.com-<구분자>
로 지정하였으므로 호출 시 동일하게 구성하여야 합니다.
- 신규 저장소 clone
git clone git@github.com-work:<저장소URL>.git
- Remote 저장소 변경
git remote set-url origin git@github.com-private:<저장소URL>.git
Reference
728x90
반응형
'GitHub' 카테고리의 다른 글
(GitHub) Pull Request 템플릿 만들기 (0) | 2024.04.14 |
---|