본문 바로가기

개발 & IT/개발 라이프 & 팁

🔐 GitHub SSH 인증 설정하기 - 비밀번호 없이 Git 사용하는 방법

GitHub에서 2021년 8월부터 비밀번호 인증을 중단하면서, Git 작업 시 Personal Access Token(PAT)이나 SSH 키를 사용해야 합니다. 오늘은 더 편리하고 안전한 SSH 키 인증 설정 방법을 알아보겠습니다.

왜 SSH를 사용해야 할까요?

  • 보안: 개인키/공개키 암호화 방식으로 더 안전
  • 편리함: 한 번 설정하면 비밀번호 입력 불필요
  • 안정성: 토큰 만료 걱정 없음

🚀 SSH 키 생성하기

1. 기존 SSH 키 확인

터미널에서 기존 SSH 키가 있는지 먼저 확인해보세요.

ls -la ~/.ssh

id_rsa, id_ed25519 등의 파일이 있다면 이미 SSH 키가 존재합니다.

2. SSH 키 생성

기존 키가 없거나 새로 만들고 싶다면 다음 명령어를 실행하세요.

ssh-keygen -t ed25519 -C "your_email@example.com"

💡 팁: your_email@example.com 부분을 본인의 GitHub 계정 이메일로 변경하세요.

실행하면 다음과 같은 질문들이 나타납니다:

Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/username/.ssh/id_ed25519): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 

모두 Enter를 눌러 기본값을 사용하는 것을 권장합니다.

3. SSH 에이전트에 키 추가

# SSH 에이전트 시작
eval "$(ssh-agent -s)"

# 생성한 키를 에이전트에 추가
ssh-add ~/.ssh/id_ed25519

🔗 GitHub에 SSH 키 등록하기

1. 공개키 복사

생성된 공개키 내용을 복사합니다.

cat ~/.ssh/id_ed25519.pub

터미널에 출력된 내용을 전체 선택해서 복사하세요. ssh-ed25519로 시작해서 이메일 주소로 끝나는 한 줄의 긴 텍스트입니다.

2. GitHub 설정 페이지로 이동

  1. GitHub.com에 로그인
  2. 우상단 프로필 사진 클릭
  3. Settings 선택

3. SSH 키 추가

  1. 왼쪽 사이드바에서 SSH and GPG keys 클릭
  2. New SSH key 버튼 클릭
  3. 폼 작성:
    • Title: 구별하기 쉬운 이름 (예: "내 노트북", "회사 컴퓨터")
    • Key: 복사한 공개키 내용 붙여넣기
  4. Add SSH key 클릭

⚙️ Git 저장소에 SSH 적용하기

기존 HTTPS 저장소를 SSH로 변경

이미 HTTPS로 클론한 저장소가 있다면 원격 URL을 SSH로 변경해야 합니다.

# 현재 원격 URL 확인
git remote -v

# HTTPS를 SSH로 변경
git remote set-url origin git@github.com:username/repository.git

예시: https://github.com/jmkim1914/dog_care.git → git@github.com:jmkim1914/dog_care.git

새로 클론할 때

# SSH URL로 클론
git clone git@github.com:username/repository.git

🧪 SSH 연결 테스트

설정이 완료되었는지 테스트해보세요.

ssh -T git@github.com

성공하면 다음과 같은 메시지가 나타납니다:

Hi username! You've successfully authenticated, but GitHub does not provide shell access.

🎯 실제 사용하기

이제 Git 명령어를 사용할 때 비밀번호 입력 없이 작업할 수 있습니다!

# 파일 변경 후 푸시
git add .
git commit -m "Update README"
git push origin main  # 비밀번호 입력 불필요! 🎉

🔧 문제 해결

Permission denied (publickey) 에러

SSH 키가 제대로 등록되지 않았을 때 발생합니다.

  1. 공개키가 정확히 복사되었는지 확인
  2. SSH 에이전트에 키가 추가되었는지 확인: ssh-add -l
  3. GitHub에 여러 개의 키가 등록된 경우 올바른 키인지 확인

SSH 에이전트 관련 에러

# SSH 에이전트 재시작
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

SSH 인증 설정을 통해 더 안전하고 편리하게 GitHub를 사용할 수 있게 되었습니다!

요약

  1. ✅ SSH 키 생성
  2. ✅ GitHub에 공개키 등록
  3. ✅ Git 저장소 URL을 SSH로 변경
  4. ✅ 연결 테스트

이제 매번 토큰이나 비밀번호를 입력할 필요 없이 git push, git pull 등의 명령어를 자유롭게 사용할 수 있습니다.

반응형