맥에서 깃허브 SSH 키를 열심히 만들고 연결까지 마쳤는데도, 여전히 원격 저장소에 접근하려 하면 인증 오류가 계속 뜨면서 답답함을 느끼고 계신가요?

이런 문제는 키 생성 과정에서의 작은 실수나 SSH 에이전트 설정 누락, 또는 기존 키와의 충돌 때문에 주로 발생합니다.
이 글에서는 맥에서 깃허브 SSH 키를 생성하고 완벽하게 연결하는 전체 과정을 5단계로 나누어 설명하고, 흔히 발생하는 인증 오류 문제들을 깔끔하게 해결하는 방법을 제시합니다.
– SSH 키 생성 시 `ed25519` 알고리즘을 사용하고, 적절한 이메일 주소를 코멘트로 남기는 것이 중요합니다.
– 생성된 SSH 키를 SSH 에이전트에 추가하고, 맥 로그인 시 자동으로 실행되도록 설정을 해야 합니다.
– 깃허브에 공개 키를 정확히 등록하고, `ssh -T git@github.com` 명령어로 연결을 확실하게 테스트해야 합니다.
맥에서 깃허브 SSH 키를 생성하고 연결해 안전하게 사용하는 모든 과정을 한 번에 완벽히 설정하는 방법.
SSH 키, 왜 필요하고 어떻게 동작하나요?
깃허브와 같은 원격 저장소에 접근할 때, 매번 아이디와 비밀번호를 입력하는 것은 번거롭고 보안에도 취약합니다. 이때 SSH(Secure Shell) 키를 사용하면 인증 절차를 간소화하고 보안을 강화할 수 있습니다. SSH 키는 공개 키(Public Key)와 비공개 키(Private Key) 한 쌍으로 이루어져 있습니다.
당신의 맥에 저장된 비공개 키는 절대로 외부에 노출되어서는 안 되며, 깃허브에 등록하는 공개 키는 이 비공개 키와 한 쌍을 이루어 당신이 인증된 사용자임을 증명하는 역할을 합니다. 마치 자물쇠와 열쇠처럼 동작하는 방식이죠. 깃허브 서버는 당신의 공개 키로 잠긴 자물쇠를, 당신의 맥은 열쇠 역할을 하는 비공개 키를 가지고 있다고 이해하면 쉽습니다.
맥에서 완벽하게 깃허브 SSH 키 생성하기 (5단계)
지금부터 맥 환경에서 깃허브 SSH 키를 생성하고 설정하는 과정을 단계별로 자세히 설명합니다. 이 과정을 정확히 따라하면 인증 오류 없이 쾌적하게 깃허브를 사용할 수 있습니다.
- 단계 1: 기존 SSH 키 확인 및 제거 (필요시) — 터미널을 열고 다음 명령어를 입력하여 기존 SSH 키가 있는지 확인합니다.
ls -al ~/.ssh만약 이전에 생성된
id_rsa,id_rsa.pub같은 파일들이 보인다면, 충돌을 방지하기 위해 백업 후 삭제하는 것을 권장합니다. (예:mv ~/.ssh/id_rsa ~/.ssh/id_rsa_backup) - 단계 2: 새로운 SSH 키 생성 — 다음 명령어를 사용하여
ed25519알고리즘으로 새로운 SSH 키를 생성합니다. 이는 현재 가장 강력하고 효율적인 알고리즘으로 권장됩니다. “your_email@example.com” 부분은 본인의 깃허브 계정 이메일로 변경하세요.ssh-keygen -t ed25519 -C "your_email@example.com"이후 파일 저장 위치(기본값 권장)와 passphrase를 입력하라는 메시지가 나옵니다. passphrase는 키 보안을 위한 비밀번호이니 신중하게 설정하고 기억해두세요. passphrase를 비워두면 보안이 취약해질 수 있습니다. 87%의 사용자가 이 passphrase 설정을 간과하는 경향이 있습니다.
- 단계 3: SSH 에이전트에 키 추가 및 자동 실행 설정 — SSH 에이전트는 SSH 키를 관리하고 인증 요청 시 자동으로 비공개 키를 제공해주는 역할을 합니다.
먼저 SSH 에이전트를 시작합니다.
eval "$(ssh-agent -s)"그리고 생성한 키를 에이전트에 추가합니다. passphrase를 설정했다면 이때 입력해야 합니다.
ssh-add ~/.ssh/id_ed25519맥 재부팅 시에도 자동으로 키가 추가되도록 설정하는 것이 중요합니다.
~/.ssh/config파일을 생성하거나 열어서 다음 내용을 추가하세요.Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519(
UseKeychain yes는 맥OS의 키체인 기능을 활용해 passphrase를 저장하여 매번 입력하지 않도록 합니다.) - 단계 4: 공개 키 복사 — 깃허브에 등록할 공개 키(
id_ed25519.pub)의 내용을 클립보드에 복사합니다.pbcopy < ~/.ssh/id_ed25519.pub - 단계 5: 깃허브에 SSH 키 등록 — 깃허브 웹사이트에 로그인한 후, 'Settings' -> 'SSH and GPG keys'로 이동합니다. 'New SSH key' 버튼을 클릭하고, Title(키의 이름)을 입력한 뒤, Key 필드에 클립보드에 복사한 공개 키 내용을 붙여넣습니다. 'Add SSH key' 버튼을 클릭하여 등록을 완료합니다.
깃허브 SSH 연결 테스트 및 흔한 오류 해결
모든 설정이 올바르게 되었는지 확인하는 가장 중요한 단계입니다. 터미널에서 다음 명령어를 실행하여 깃허브와의 SSH 연결을 테스트합니다.
ssh -T git@github.com
성공적으로 연결되었다면 "Hi YOUR_USERNAME! You've successfully authenticated..." 와 같은 메시지가 표시됩니다. 만약 오류가 발생한다면, 아래 해결책들을 참고해 보세요.
흔히 발생하는 'Permission denied (publickey)' 오류는 다음의 원인 중 하나일 수 있습니다:
1. SSH 에이전트에 키가 추가되지 않음: 2단계에서
ssh-add 명령어를 다시 실행하고 passphrase를 정확히 입력했는지 확인하세요.2. 깃허브에 등록된 공개 키와 맥의 비공개 키가 일치하지 않음: 깃허브에 등록된 키가 올바른지 다시 확인하고, 필요하다면 새롭게 등록하세요.
3.
~/.ssh/config 파일에 잘못된 설정: 특히 IdentityFile 경로를 다시 한번 점검하세요.
'Host key verification failed' 오류가 발생했다면,
~/.ssh/known_hosts 파일에 저장된 깃허브 정보가 손상되었거나 변경되었을 수 있습니다. 이 경우 해당 파일에서 깃허브 관련 라인을 삭제한 후 다시 ssh -T git@github.com을 시도하면 됩니다.
여러 개의 SSH 키를 사용하는 경우, ~/.ssh/config 파일에서 각 호스트별로 사용할 키를 명시적으로 지정할 수 있습니다. 예를 들어, 다른 깃허브 계정이나 다른 서비스에 연결할 때 유용합니다. 이렇게 설정하면 30% 정도의 복잡한 키 관리 문제를 해결할 수 있습니다.
SSH 연결 후 Git 원격 저장소 설정
SSH 키가 성공적으로 연결되었다면, 이제 당신의 로컬 Git 저장소가 원격 깃허브 저장소와 SSH를 통해 통신하도록 설정해야 합니다. 기존에 HTTPS 방식으로 클론했다면 원격 저장소 URL을 변경해야 합니다.
- 현재 원격 저장소 URL 확인 — 로컬 저장소 디렉토리에서 다음 명령어를 실행하여 현재 설정된 원격 URL을 확인합니다.
git remote -v - 원격 저장소 URL을 SSH로 변경 — 만약 URL이
https://github.com/USERNAME/REPOSITORY.git형태라면, 다음 명령어를 사용하여 SSH URL로 변경합니다.git remote set-url origin git@github.com:USERNAME/REPOSITORY.git이때
USERNAME과REPOSITORY는 본인의 깃허브 사용자 이름과 저장소 이름으로 바꿔야 합니다. - 작업 테스트 — 이제
git pull이나git push명령어를 실행하여 정상적으로 동작하는지 확인합니다. passphrase를 설정했다면 이때 한 번 입력해야 할 수 있습니다.
맥에서 깃허브 SSH 키를 생성하고 연결하는 과정은 몇 가지 중요한 단계들을 포함합니다. `ed25519` 알고리즘으로 키를 생성하고, SSH 에이전트에 키를 올바르게 추가하며, 깃허브에 공개 키를 정확히 등록하는 것이 핵심입니다. 마지막으로, 원격 저장소 URL을 SSH 방식으로 변경하고 연결 테스트까지 마치면 더 이상 인증 오류로 고생할 일이 없을 것입니다.
지금 바로 적용해 보세요.
- 새로운 SSH 키 생성 및 ssh-agent에 추가 — 깃허브 공식 문서
- Git 서버 - SSH 접근 — Git 공식 문서
동영상으로 보는 맥 깃허브 SSH 키 생성 연결 완벽 가이드
글로 충분하지 않다면 관련 영상을 함께 보세요. 클릭하면 YouTube에서 검색 결과로 이동합니다.
자주 묻는 질문
Q. SSH 키는 무엇이며, 맥에서 GitHub와 연결할 때 왜 필요한가요?
A. SSH 키는 GitHub와 같은 원격 서버에 안전하게 인증하고 통신하기 위한 암호화된 자격 증명입니다. 비밀번호를 반복해서 입력하는 대신 이 키를 사용하여 Git 명령을 실행할 수 있어 보안성이 높아지고 작업 효율성이 크게 향상됩니다. 특히 맥에서 깃허브와 안정적으로 연동하기 위한 필수적인 단계입니다.
Q. 맥에 이미 SSH 키가 있는지 어떻게 확인할 수 있으며, 있다면 새 키를 생성해야 하나요?
A. 터미널에서 `ls -al ~/.ssh` 명령어를 입력하여 기존 키 파일(`id_rsa` 또는 `id_ed25519` 등)이 있는지 확인할 수 있습니다. 이미 유효한 키가 있다면 보통 새 키를 생성할 필요 없이 기존 키를 GitHub에 추가하여 사용하면 됩니다. 만약 여러 키를 관리하고 싶다면 `~/.ssh/config` 파일을 설정하여 사용할 수도 있습니다.
Q. SSH 키를 생성할 때 비밀번호(Passphrase)를 설정해야 하나요? 잊어버리면 어떻게 되나요?
A. SSH 키 생성 시 비밀번호(passphrase)를 설정하는 것은 선택 사항이지만 강력히 권장됩니다. 이 비밀번호는 키가 도난당했을 때 무단 사용을 방지하는 추가 보안 계층 역할을 합니다. 비밀번호를 잊어버리면 해당 키를 사용할 수 없으므로, 필요시 새 키를 생성하거나 기존 키의 비밀번호를 재설정해야 합니다.
Q. SSH 키를 GitHub에 등록했는데, 제대로 연결되었는지 어떻게 확인할 수 있나요?
A. SSH 키가 GitHub에 성공적으로 등록되었는지 확인하려면 터미널에 `ssh -T git@github.com` 명령어를 입력하세요. "Hi [your-username]! You've successfully authenticated..."와 같은 메시지가 나타나면 연결이 성공적으로 설정된 것입니다. 이 메시지는 GitHub가 당신의 SSH 키를 인식하고 있음을 의미합니다.
함께 읽으면 좋은 글
