GitHub
GitHub에 SSH로 연결하기
시작
환경
- macOS Sequoia 15.1
SSH 키 생성하기
- 터미널에 아래 명령어를 입력한다.
"your_email@example.com"은 본인의 이메일로 대치
ssh-keygen -t ed25519 -C "your_email@example.com"
macOS High Sierra 10.12 이하에선 Ed25519 암호화 알고리즘을 공식적으로 지원하지 않기에
RSA 알고리즘으로 키를 생성하거나 ssh 버전을 올려야한다.
ssh-agent에 키 등록하기
- ssh-agent를 실행
eval "$(ssh-agent -s)"
~/.ssh/config파일을 연다.- 아래와 같이 수정한다
Host github.com
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519
- Keychain에 등록한다.
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
GitHub에 키 등록하기
- 생성한 키를 복사한다
cat ~/.ssh/id_ed25519.pub | pbcopy
- GitHub > Settings > SSH and GPG keys로 들어간다. 링크
- Add New SSH Key를 누르고 키를 등록한다.
title은 자신이 구분할 수 있는 레이블로 등록하면 된다.
여러 계정을 하나의 디바이스에서 관리하기
ex) 개인용, 회사용 계정을 구분해서 사용해야할 때
회사용 SSH 키 생성하기하고 등록하기
- 터미널에 아래 명령어를 입력한다.
"your_email@example.com"은 회사 이메일로 대치
ssh-keygen -t ed25519 -C "your_email@example.com"
- 키 이름을 변경 ex)
id_ed25519_work
Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/jaeyunwoo/.ssh/id_ed25519):
/Users/jaeyunwoo/.ssh/id_ed25519_work
- 회사용 GitHub 계정에 키를 등록한다.
ssh-agent에 회사용 키 등록하기
~/.ssh/config파일을 연다.- 예시와 같이 수정한다.
# 개인용
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519
# 회사용
Host github.com-work
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_work
Host *
AddKeysToAgent yes
IdentitiesOnly yes
- Keychain에 등록한다.
ssh-add -D # optional: 기존에 등록된 모든 키를 지운다
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
ssh-add --apple-use-keychain ~/.ssh/id_ed25519_work
확인
아래 명령어를 쳤을 때 각각 개인용/회사용 아이디가 나오면 완료된 것
ssh -T git@github.com
> Hi {{개인용}}! You've successfully authenticated, but GitHub does not provide shell access.
ssh -T git@github.com-work
> Hi {{회사용}}! You've successfully authenticated, but GitHub does not provide shell access.
참조