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 설정 페이지로 이동
- GitHub.com에 로그인
- 우상단 프로필 사진 클릭
- Settings 선택
3. SSH 키 추가
- 왼쪽 사이드바에서 SSH and GPG keys 클릭
- New SSH key 버튼 클릭
- 폼 작성:
- Title: 구별하기 쉬운 이름 (예: "내 노트북", "회사 컴퓨터")
- Key: 복사한 공개키 내용 붙여넣기
- 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 키가 제대로 등록되지 않았을 때 발생합니다.
- 공개키가 정확히 복사되었는지 확인
- SSH 에이전트에 키가 추가되었는지 확인: ssh-add -l
- GitHub에 여러 개의 키가 등록된 경우 올바른 키인지 확인
SSH 에이전트 관련 에러
# SSH 에이전트 재시작
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
SSH 인증 설정을 통해 더 안전하고 편리하게 GitHub를 사용할 수 있게 되었습니다!
요약
- ✅ SSH 키 생성
- ✅ GitHub에 공개키 등록
- ✅ Git 저장소 URL을 SSH로 변경
- ✅ 연결 테스트
이제 매번 토큰이나 비밀번호를 입력할 필요 없이 git push, git pull 등의 명령어를 자유롭게 사용할 수 있습니다.
반응형
'개발 & IT > 개발 라이프 & 팁' 카테고리의 다른 글
Git에서 'Permission denied' 오류 해결 방법 (0) | 2025.02.19 |
---|---|
윈도우에서 하위 폴더 파일 일괄 이름 변경하는 방법 (3) | 2025.01.29 |
생성형 AI 챗GPT 활용법: 코드 작성 및 디버깅 (5) | 2024.10.07 |
[python] 파이썬 기초 - 웹 스크래퍼 간단 예제 (4) | 2023.11.03 |
[AWS-EC2] ufw 활성화 후 connection time out 문제 (1) | 2023.07.20 |