티스토리 뷰

문제 상황

GitHub에 SSH 키를 등록했음에도 불구하고 저장소를 clone할 때 계속 실패하는 상황이 발생했습니다.

git clone https://github.com/developer0hye/video-decode-bench.git
# fatal: could not read Username for 'https://github.com': Device not configured

분명 SSH 키도 등록했고, GitHub 인증도 정상인데 왜 안되는 걸까요?

원인 분석

1단계: SSH 연결 확인

먼저 GitHub SSH 연결이 정상인지 확인했습니다:

ssh -T git@github.com
# Hi markany-yhkwon! You've successfully authenticated, but GitHub does not provide shell access.

SSH 인증은 정상입니다. 그렇다면 문제는 뭘까요?

2단계: HTTPS vs SSH URL

문제의 핵심을 발견했습니다:

  • 사용한 URL: https://github.com/developer0hye/video-decode-bench.git
  • 사용해야 할 URL: git@github.com:developer0hye/video-decode-bench.git

HTTPS URL은 SSH 키가 아닌 username/password를 사용합니다!

3단계: Repository not found

SSH URL로 시도했더니 이번엔 다른 에러가 발생했습니다:

git clone git@github.com:developer0hye/video-decode-bench.git
# ERROR: Repository not found.

이유는 간단했습니다:

  • 저장소는 Private
  • 현재 SSH 키는 markany-yhkwon 계정용
  • developer0hye 계정의 private 저장소에 접근 권한이 없음

해결 방법: 여러 GitHub 계정 SSH 관리

여러 GitHub 계정을 사용할 때는 각 계정별로 SSH 키를 분리하고 ~/.ssh/config를 설정해야 합니다.

1단계: SSH 키 확인

ls -la ~/.ssh/
# id_ed25519          # markany-yhkwon 계정용
# github_developr0hye # developer0hye 계정용

2단계: SSH Config 설정

~/.ssh/config 파일에 각 계정별 설정을 추가합니다:

Host markany-yhkwon
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519
  IdentitiesOnly yes

Host developr0hye
  HostName github.com
  User git
  IdentityFile ~/.ssh/github_developr0hye
  IdentitiesOnly yes

3단계: SSH Host 이름으로 Clone

이제 일반적인 git@github.com 대신 config에 설정한 Host 이름을 사용합니다:

# ❌ 이렇게 하면 안됨
git clone git@github.com:developer0hye/video-decode-bench.git

# ✅ 이렇게 해야 함
git clone developr0hye:developer0hye/video-decode-bench.git

성공! 🎉

정리

GitHub 여러 계정 사용 시 Clone 방법

# markany-yhkwon 계정의 저장소
git clone markany-yhkwon:markany-yhkwon/repository.git

# developer0hye 계정의 저장소
git clone developr0hye:developer0hye/repository.git

핵심 포인트

  1. HTTPS URL은 SSH 키를 사용하지 않습니다
    • https://github.com/... → username/password 필요
    • git@github.com:... → SSH 키 사용
  2. 여러 계정 사용 시 SSH config 설정은 필수
    • 각 계정별로 다른 SSH 키 사용
    • ~/.ssh/config에 Host 별로 설정
  3. Private 저장소는 해당 계정의 SSH 키로만 접근 가능
    • 올바른 Host 이름을 사용해야 함
    • config의 IdentityFile이 올바른 키를 가리켜야 함

참고: 이미 clone한 저장소의 remote URL 변경

만약 이미 HTTPS로 clone한 저장소가 있다면, remote URL을 변경할 수 있습니다:

# 현재 remote 확인
git remote -v

# SSH URL로 변경
git remote set-url origin developr0hye:developer0hye/repository.git

이제 여러 GitHub 계정을 자유롭게 사용할 수 있습니다! 🚀

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/02   »
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
글 보관함