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와 업무용 key id_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

+ Recent posts