기존 GitHub 계정에 GPG 키 설정하는 방법 (단계별)

발행: (2026년 1월 18일 오후 08:40 GMT+9)
4 min read
원문: Dev.to

Source: Dev.to

GPG 키란 무엇이며 왜 중요한가?

GPG (GNU Privacy Guard)는 다음과 같은 용도로 사용되는 도구입니다:

  • 커밋 및 태그에 디지털 서명하기
  • 저자와 무결성을 증명하기
  • 협업 프로젝트에서 보안과 신뢰성을 향상시키기

커밋 서명의 장점

  • 커밋이 GitHub에서 Verified(검증됨)으로 표시됩니다
  • 커밋 위조를 방지합니다
  • 개발자로서 신뢰도를 높여줍니다

사전 요구 사항

  • GitHub 계정
  • Git 설치
  • 시스템에 GPG 설치
  • 터미널 접근 권한

1단계: GPG가 설치되어 있는지 확인하기

gpg --version

GPG가 설치되지 않은 경우:

Ubuntu / Debian

sudo apt update && sudo apt install gnupg

macOS (Homebrew)

brew install gnupg

Windows

공식 사이트에서 Gpg4win을 설치합니다.

2단계: 새로운 GPG 키 생성하기

gpg --full-generate-key

프롬프트가 나타나면 다음과 같이 입력합니다:

  • 키 유형: RSA and RSA
  • 키 크기: 4096
  • 만료 기간: 필요에 따라 선택 (예: 1y 혹은 무기한은 0)
  • 이름 및 이메일: GitHub 계정과 동일한 이메일 주소 사용
  • 패스프레이즈: 강력한 비밀번호를 설정하고 기억하세요

완료되면 GPG 키가 생성됩니다.

3단계: GPG 키 목록 확인 및 키 ID 복사하기

gpg --list-secret-keys --keyid-format=long

예시 출력:

/home/nyaugenya/.gnupg/pubring.kbx
----------------------------------
sec   rsa3072/CBC3C9CAC3450592 2025-12-17 [SC] [expires: 2027-12-17]
      DD88627124BA164FD7D531C8CBC3C9CAC3450592
uid                 [ultimate] nyaugenya (go!!!) 
ssb   rsa3072/4DB25F105F5D7F76 2025-12-17 [E] [expires: 2027-12-17]

rsa4096/ 뒤에 나오는 키 ID(예: DD88627124BA164FD7D531C8CBC3C9CAC3450592)를 복사합니다.

4단계: GPG 공개 키 내보내기

gpg --armor --export DD88627124BA164FD7D531C8CBC3C9CAC3450592

출력 전체를 복사합니다. -----BEGIN PGP PUBLIC KEY BLOCK----------END PGP PUBLIC KEY BLOCK----- 라인도 포함해야 합니다.

5단계: GPG 키를 GitHub에 추가하기

  1. GitHub → Settings 로 이동합니다.
  2. SSH and GPG keys 를 클릭합니다.
  3. GPG keys 섹션에서 New GPG key 를 클릭합니다.
  4. 복사한 공개 키를 붙여넣습니다.
  5. Add GPG key 를 클릭합니다.

이제 GitHub이 당신의 서명 키를 인식합니다.

6단계: Git에 GPG 키 사용을 알려주기

키 ID를 사용해 Git을 설정합니다:

git config --global user.signingkey DD88627124BA164FD7D531C8CBC3C9CAC3450592

커밋에 자동으로 서명하도록 설정합니다:

git config --global commit.gpgsign true

Git 이메일이 GitHub와 일치하는지 확인합니다:

git config --global user.email "odhiamborose466@gmail.com"

태그에도 자동으로 GPG 서명을 적용하도록 설정합니다:

git config --global tag.gpgSign true

7단계: (Linux) “GPG Failed to Sign the Data” 오류 해결

이 오류가 발생하면 다음을 실행합니다:

export GPG_TTY=$(tty)

영구적으로 적용하려면:

echo 'export GPG_TTY=$(tty)' >> ~/.bashrc
source ~/.bashrc

8단계: 서명된 커밋 만들기

전역 설정 덕분에 일반 커밋을 만들면 자동으로 서명됩니다:

git commit -m "My first signed commit"

또는 명시적으로 서명하려면:

git commit -S -m "Signed commit"

변경 사항을 푸시합니다:

git push

이제 커밋이 GitHub에서 Verified(검증됨)으로 표시됩니다.

Back to Blog

관련 글

더 보기 »