여러 깃허브 계정 사용시 SSH 키 설정

Starlot·2022년 5월 7일
0

회사용 GitHub 계정을 추가로 개설 하여 ssh key 등록을 시도하니, 이미 등록된 ssh key라고 등록이 되지 않았다. 이에 별도로 key를 생성하여 등록 및 설정하는 과정을 정리한다.

0. 설정환경

아래 정보들은 설명을 위한 가짜 정보들입니다.

  • OS : MacOS
  • 회사메일주소 : exam@company.com
  • Mac 사용자 명 : xxxxx
  • SSH Key 파일명 : github-exam
  • Host 설정명 : github-work

1. 회사 계정용 SSH Key 생성

아래 명령으로 신규 Key를 생성한다.

$ ssh-keygen -t rsa -C "exam@company.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/xxxxx/.ssh/id_rsa): github-exam
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
...

/Users/xxxxx/.ssh(홈 디렉토리의 .ssh)에 github-exam, github-exam.pub 두개 파일이 생성된다.

2. GitHub에 공개키 등록

  1. 생성된 공개키 정보를 확인 한다.

    $ cat ~/.ssh/github-exam.pub
    ssh-rsa ......+U= exam@company.com
  2. GitHub 우측 상단의 프로필을 눌러 표시되는 Popup 메뉴에서 Settings를 선택한다.

  3. New SSH Key 버튼을 눌러 입력창으로 이동한다.

  4. 공개키를 입력한다.

3. Host 설정

/Users/xxxxx/.ssh 디렉토리의 config 파일에 Host 정보를 설정한다. config 파일이 없으면 새로 생성해 준다.

$ vi ~/.ssh/config
# 회사계정
Host github-work
 HostName github.com
 User git
 IdentityFile ~/.ssh/github-exam

위와 같이 설정 하면 $ ssh github-work 와 같이 호스트명으로 사용 할 수 있고, 해당 호스트명을 이용 할 때 설정한 정보 git@github.com을 이용한다.

4. git config 설정 변경

설정을 사용 할 로컬 git repository 내에서 .git 디렉토리를 확인해보면, 안에 config 파일이 있다. remote 부분의 url 설정 중 github.com 부분을 위에 설정한 Host명(github-work)로 변경한다.

$ vi .git/config
[core]
	...
[remote "origin"]
   url = git@github-work:{회사계정명}/{프로젝트명}.git
...
profile
Starlot 프로젝트

0개의 댓글