본문 바로가기
프로그래밍/Git

GitHub SSH 연결 오류 해결: Permission denied (publickey) 가이드

by JLearn 2026. 5. 2.
반응형

GitHub SSH 접속 시 발생하는 권한 오류는 새로운 SSH 키를 생성하고 GitHub 계정에 등록하여 해결할 수 있습니다. 본 가이드는 보안성과 성능이 뛰어난 ed25519 알고리즘을 기준으로 설명합니다.


1. SSH 키 생성 (ssh-keygen)

터미널 또는 Git Bash에서 아래 명령어를 실행합니다.

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

옵션 상세 설명

  • ssh-keygen: SSH 키 생성 실행 도구입니다.
  • -t ed25519: 암호화 알고리즘 타입을 지정합니다. (최신 표준 권장 방식)
  • -C "주석": 키 식별용 라벨이며, 주로 GitHub 계정 이메일을 입력합니다.

실행 과정

명령어 입력 후 나타나는 질문들에는 Enter 키를 눌러 기본값으로 진행하는 것이 일반적입니다.

  1. 저장 위치 지정: 기본 경로(~/.ssh/id_ed25519) 사용 시 Enter를 누릅니다.
  2. 비밀번호(Passphrase): 추가 보안이 필요하면 입력하고, 불필요하면 Enter로 생략합니다.
  3. 비밀번호 확인: 설정했다면 재입력, 생략했다면 Enter를 누릅니다.

2. 공개키 복사

키 생성이 완료되면 개인키(id_ed25519)와 공개키(id_ed25519.pub) 파일이 생성됩니다. 이 중 GitHub에 등록할 공개키 내용을 복사합니다.

cat ~/.ssh/id_ed25519.pub

출력된 텍스트 전체(ssh-ed25519로 시작하는 한 줄)를 복사합니다.


3. GitHub 계정에 키 등록

  1. GitHub 로그인 후 우측 상단 프로필 클릭 > Settings 이동
  2. 왼쪽 메뉴에서 SSH and GPG keys 선택
  3. New SSH key 버튼 클릭
  4. Title: 키를 식별할 이름 입력 (예: PC-Name, Server-01)
  5. Key: 복사한 공개키 텍스트를 붙여넣기
  6. Add SSH key 버튼 클릭하여 저장

4. 최종 연결 확인

설정이 완료되었다면 아래 명령어로 통신을 테스트합니다.

ssh -T git@github.com
  • 최초 접속 시: Authenticity 확인 메시지가 나오면 yes를 입력합니다.
  • 성공 메시지: Hi [사용자명]! You've successfully authenticated...가 출력되면 정상입니다.

핵심 요약

  • 개인키 (id_ed25519): 내 컴퓨터에만 보관하며 절대 유출하지 않습니다.
  • 공개키 (id_ed25519.pub): GitHub 서버에 등록하여 나를 인증하는 용도입니다.
  • 권장 사항: 보안을 위해 RSA 대신 ed25519 알고리즘 사용을 권장합니다.
반응형

댓글