카테고리 없음

GitHub SSH 키 생성 및 설정 방법

idea9329 2025. 1. 4. 22:21
반응형

 

SSH 키를 사용하면 비밀번호 없이 안전하게 GitHub 리포지토리에 접근할 수 있습니다. 아래는 SSH 키 생성부터 GitHub에 추가하는 단계별 가이드입니다.


1. SSH 키 생성

Windows, macOS, Linux 공통

  1. 터미널 열기
    • Windows: cmd, PowerShell 또는 WSL 사용
    • macOS/Linux: 터미널 앱 실행
  2. SSH 키 생성 명령 실행
    • -t ed25519: 더 강력하고 빠른 암호화 알고리즘 선택
    • -C: 이메일 주소 (GitHub 계정에 사용된 이메일 입력)
    참고: ed25519가 지원되지 않으면 rsa를 사용하세요:
  3. ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  4. ssh-keygen -t ed25519 -C "your_email@example.com"
  5. 키 저장 위치 설정
    • 기본 경로를 사용하려면 Enter를 누릅니다:
      Enter file in which to save the key (/home/user/.ssh/id_ed25519):
    • 기본 경로가 아닌 경우 원하는 경로를 입력하세요.
  6. 암호 설정
    • 추가 보안을 위해 암호를 입력하거나, 그냥 Enter를 눌러 암호 없이 설정 가능합니다.

2. SSH 키 확인

  1. 생성된 공개 키 확인또는 id_rsa.pub 파일을 열어 키를 확인합니다.
    • 공개 키는 ssh-ed25519 또는 ssh-rsa로 시작합니다.
  2. cat ~/.ssh/id_ed25519.pub
  3. 공개 키 복사클립보드에 복사되며, GitHub에 붙여넣기할 준비가 됩니다.
  4. pbcopy < ~/.ssh/id_ed25519.pub # macOS cat ~/.ssh/id_ed25519.pub | clip # Windows xclip -sel clip < ~/.ssh/id_ed25519.pub # Linux

3. SSH 키 GitHub에 추가

  1. GitHub 접속
  2. SSH 키 설정으로 이동
    • 우측 상단의 프로필 사진 클릭 → Settings  SSH and GPG keys 선택
  3. 새 SSH 키 추가
    • New SSH key 버튼 클릭
    • Title: 키 식별용 이름 입력 (예: My Laptop SSH Key)
    • Key: 복사한 공개 키를 붙여넣기
  4. 저장
    • Add SSH key 클릭

4. SSH 키 테스트

  1. GitHub와 연결 테스트
    • 결과 예시:
      Hi username! You've successfully authenticated, but GitHub does not provide shell access.
  2. ssh -T git@github.com
  3. 연결 문제 해결
    • 권한 문제 발생 시:
    • chmod 600 ~/.ssh/id_ed25519
    • SSH 에이전트 실행 및 키 추가:
    • eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_ed25519

5. Git 리포지토리에서 SSH 사용 설정

  1. 리포지토리 URL 확인
    • HTTPS 대신 SSH URL을 사용:
      git@github.com:username/repository.git
  2. 리포지토리 클론
  3. git clone git@github.com:username/repository.git

6. 주의사항

  • 프라이빗 키는 절대 공개하지 마세요. (id_ed25519 또는 id_rsa 파일)
  • 여러 SSH 키를 사용하는 경우 ~/.ssh/config 파일을 설정해 관리합니다:
    Host github.com
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_ed25519

이제 SSH 키를 사용하여 GitHub와 효율적으로 작업할 수 있습니다! 😊

반응형