티스토리 뷰
회사에서는 GitLab을 사용하는데, 개발 연습을 위해 GitHub도 함께 사용하려고 한다.
근데 기존 SSH 키(id_ed25519)는 GitLab 전용으로 설정되어 있어서,
GitHub 용 SSH 키를 새로 생성하고 각각의 키를 등록하고 사용하는 방법을 정리해본다.
1️⃣ GitHub용 SSH 키 생성하기
GitHub에서 사용할 새로운 SSH 키를 생성한다.
ssh-keygen -t ed25519 -C "your_email@example.com" -f ~/.ssh/id_ed25519_github
- -t ed25519 : ed25519 암호화 방식 사용
- -C "your_email@example.com" : GitHub 계정 이메일 입력
- -f ~/.ssh/id_ed25519_github : GitHub용 SSH 키 파일 이름 지정
🔹 "Enter passphrase" 요청이 뜨면 비워두거나 원하는 비밀번호를 설정할 수 있다.


2️⃣ SSH 에이전트 실행 및 키 등록
SSH 에이전트를 실행한 후, 새로 생성한 키를 등록한다.
eval "$(ssh-agent -s)"
(환경에 따라 exec ssh-agent bash 또는 exec ssh-agent zsh를 실행해야 할 수도 있다.)
그 후, 키를 추가한다.
ssh-add --apple-use-keychain ~/.ssh/id_ed25519_github
💡 macOS Monterey(12.0) 이전 버전에서는 -K 옵션을 사용해야 할 수도 있음.

3️⃣ GitHub 계정에 SSH 공개키 등록하기
SSH 키를 GitHub 계정에 추가해야 한다.
cat ~/.ssh/id_ed25519_github.pub
위 명령어를 실행하면 SSH 공개키(id_ed25519_github.pub) 설정에 추가된다.
- GitHub 로그인
- Settings → SSH and GPG keys → New SSH key 클릭
- Title 입력 (예: MacBook SSH)
- Key 부분에 id_ed25519_github.pub 내용 붙여넣기
- Add SSH key 클릭
GitHub에서는 SSH 키를 추가할 때 두 가지 유형을 제공한다.
Authentication Key와 Signing Key!
- Authentication Key:
GitHub과 SSH를 통해 인증하고 Git 작업을 수행할 때 사용
일반적으로 코드 푸시 및 풀과 같은 Git 작업에 필요 - Signing Key:
커밋이나 태그에 디지털 서명을 추가할 때 사용
코드의 무결성을 보장하고, 서명된 커밋을 신뢰할 수 있도록 함
대부분의 경우, 리포지토리에 접근하고 코드 작업을 수행하기 위해서는 Authentication Key를 선택하면 된다.
4️⃣ SSH 설정 파일 수정 (~/.ssh/config)
GitLab과 GitHub의 SSH 키를 구분하기 위해 ~/.ssh/config 파일을 설정한다.
vi ~/.ssh/config
아래 내용을 추가한다.
# GitHub 개인 계정
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_github
IdentitiesOnly yes
# 회사용 GitLab 계정
Host gitlab.com
HostName gitlab.com
User git
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnly yes
💡 이렇게 하면 GitHub 접속 시 id_ed25519_github를, GitLab 접속 시 id_ed25519를 자동으로 사용한다.
5️⃣ SSH 키 정상 작동 확인
SSH 키가 제대로 설정되었는지 확인한다.
ssh -T git@github.com
정상적으로 설정되었다면 아래와 같은 메시지가 출력된다.
Hi your-github-username! You've successfully authenticated, but GitHub does not provide shell access.

중간에 yes 한번 쳐줘야된다.
6️⃣ GitHub 레포지토리 클론하기
이제 GitHub에서 SSH 방식으로 레포지토리를 클론할 수 있다.
git clone git@github.com:your-github-username/your-repository.git

🎯 정리
✅ id_ed25519_github SSH 키 생성
✅ ssh-agent에 추가
✅ GitHub에 SSH 키 등록
✅ ~/.ssh/config에 설정 추가
✅ SSH 키 정상 작동 확인 후 git clone 수행
참고
새 SSH 키 생성 및 ssh-agent에 추가 - GitHub Docs
SSH(Secure Shell Protocol)를 사용하여 GitHub의 리포지토리에서 데이터에 액세스하고 쓸 수 있습니다. SSH를 통해 연결할 때 로컬 머신에서 프라이빗 키 파일을 사용하여 인증합니다. 자세한 내용은 SSH
docs.github.com
GitHub SSH Key 확인
GitHub SSH Key 확인 1. SSH Key 파일 확인일반적으로 SSH 키는 ~/.ssh 디렉토리에 저장 됨.➜ ls -al ~/.ssh 1-1. 이 파일이 있다면 ssh 키 존재- id_ed25519 // 비공개 SSH 키 파일 (절때 공개되면
hwivelop.tistory.com
'Developments' 카테고리의 다른 글
[Security] 2025.01.10 | 사이버 보안 문서 읽어보기 (0) | 2025.05.12 |
---|---|
[M4] Meta llama 3.2 설치하기 (1) (0) | 2025.01.17 |
- Total
- Today
- Yesterday
- 다트문법
- lints
- slivers
- 플러터업데이트
- jsonserializable
- flutter3.7
- swiftmigration
- flutter
- sliverlist
- 오블완챌린지
- 개발신입
- fromjson()
- 오블완
- ios
- 플러터
- analysis_options
- 티스토리챌린지
- 낙관적 업데이트 패턴
- 플러터네이티브
- 플러터ios애니메이션
- flutter_lints
- jsonkey
- tojson()
- llm 설치
- sliver
- SWIFT
- 플러터 업데이트
- 렌더링최적화
- flutter 3.7
- flutter updates
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |