이 작업은 아래의 다섯 단계를 통해서 수행할 수 있다.
Steps:
- Step 1 : 모든 계정에 대해서 ssh 키 파일 만들기.
- Step 2 : ssh 키 파일을 ssh-agent 에 등록하기.
- Step 3 : ssh 퍼블릭 키를 깃허브에 등록하기.
- Step 4 : config 파일을 만들고 계정의 항목 설정하기.
- Step 5 : 각 계정의 repository 를 클론하기.
Step 1
모든 계정에 대해서 ssh 키 파일 만들기.
첫째로, .ssh 폴더로 이동한다.
cd ~/.ssh
둘째로, ssh 키 파일을 만드는 규칙은 다음과 같다.
ssh-keygen -t rsa -C "your-email-address" -f "github-username"
-C 뒤에 있는 your-email-address 자리에는 github 의 로그인 이메일 계정을 적는다.
-f 뒤에 있는 github-username 은 ssh 키파일의 이름이다.
만일 개인계정은 abc@gmail.com 이고 회사의 계정은 abc@company.com 이라고 하고, 각각의 이름을 id_home, id_compay 라고 한다면 아래와 같이 적을 수 있다.
ssh-keygen -t rsa -C "abc@gmail.com" -f "id_home"
ssh-keygen -t rsa -C "abc@company.com" -f "id_company"
이후 해당 디렉토리에는 아래와 같이 4개의 파일이 생성된다.
id_home
id_home.pub
id_company
id_company.pub
Step 2
ssh 키 파일을 ssh-agent 에 등록하기.
위에서 만들어준 ssh 키 파일을 아래와 같이 등록해준다.
ssh-add -K ~/.ssh/id_home
ssh-add -K ~/.ssh/id_company
이후 ssh-add -l 명령어로 등록되어 있는지 확인할 수 있다.
Step 3
ssh 퍼블릭 키를 깃허브에 등록하기.
github 의 settings -> SSH and GPG keys 로 들어가면 위에 초록색 버튼 "New SSH Key" 버튼을 누른다.
위 Title 부분에는 임의의 이름을 준다. 예를 들면 id_home
그리고 key 부분에는 부분에는 ssh 폴더의 id_home.pub 파일의 내용을 복사해서 넣는다.
복사하는 방법은 아래와 같다.
pbcopy < ~/.ssh/id_home.pub
위의 방법으로 회사 계정의 github 에서도 같은 방법으로 등록해준다.
Step 4
config 파일을 만들고 계정의 항목 설정하기.
ssh 폴더에서 config 파일이 있다면 editor 를 사용하여 오픈한다.
없다면 touch config 라는 명령어로 만들어 준 후 오픈한다.
그리고 아래와 같이 작성해준다.
각 항목에서 HomeName 과 User 부분은 그대로 두고,
IdentityFile 부분에 위에서 작성한 key 파일의 각각 회사와 집에 부분에 해당하는 명칭을 적어준다.
그리고 Host 부분에는 githum.com- 뒤에 파일명을 적어준다.
# home account
Host github.com-id_home
HostName github.com
User git
IdentityFile ~/.ssh/id_home
# company account
Host github.com-id_company
HostName github.com
User git
IdentityFile ~/.ssh/id_company
Step 5
각 계정의 repository 를 클론하기.
각 github 계정의 repository 에서 아래 그림과 같이 리포지토리의 ssh 주소를 복사한다.
그리고 원하는 폴더의 위치로 이동하여 아래의 명령어로 레포지토리를 복사할 수 있으며, pull 과 push를 진행할 수 있다.
git clone "복사한 ssh 주소"
여기에서 복사한 ssh 주소를 약간 수정해줘야한다.
git clone git@github.com-{config 파일의 항목명칭부분}:{owner-user-name}/{the-repo-name}.git
문제점
- 맥OS sonoma 의 문제인지 다른 문제인지 모르겠지만, 컴퓨터를 리부팅한 후에 ssh-add -l 명령어로 등록된 key 를 보면 나오지 않아서 다시 등록해줘야 제대로 연결이 된다.
- 해결책 찾음 !
.zshrc 파일을 열어서 아래 문구를 추가해서, shell 을 열 때마다 실행되도록 할 수 있다.
ssh-add --apple-use-keychain ~/.ssh/id_home
ssh-add --apple-use-keychain ~/.ssh/id_company
접속 확인
ssh -T git@github.com-{config 파일의 항목명칭부분}
ssh -T git@github.com-id_home
ssh -T git@github.com-id_company
로 확인할 수 있다.
참고
- 아래의 url 에서 참고하여 작성하였습니다.
- 단일 계정에 대해서는 아래의 문서대로 작성할 수 있는데, 위 문제점에 해당하는 부분이 나타나지 않았다.
'IT > Tip' 카테고리의 다른 글
도커로 설치된 Redash 에서 MySQL 접속이 안되는 경우 (0) | 2024.08.10 |
---|---|
맥(mac)에서 airflow 설치하기 (1) | 2024.07.14 |
Apple Silicon (M1, M2, M3) 맥에 python 3.7 설치하기 (0) | 2023.11.15 |
[tip] Crontab 에서 log 남기기 (0) | 2023.02.22 |
맥에서의 라디오 (Radio on Mac) (0) | 2022.11.18 |