상세 컨텐츠

본문 제목

[Github] GPG key 를 등록해서 Verified 받기

프로그래밍/Etc

by 웰치스짱 2023. 4. 7. 12:44

본문

반응형

Github에 소스를 저장해서 사용하던 중에 이런 표시를 보게 되었습니다. 

이 표시는 커밋한 사람의 이메일 주소와 이름이 서버에 등록되었는지 표시해주는 기능입니다. (내 이메일 주소와 비번을 도용할 수도 있으니)

이를 어떻게 설정하는지 설명해보겠습니다. (Mac OS 기준)

 

brew install gpg  #gpg 설치
...
gpg --gen-key # 설치 완료후에 키를 생성합니다.
gpg (GnuPG) 2.4.0; Copyright (C) 2021 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

gpg: directory '/Users/bkkwon/.gnupg' created
gpg: keybox '/Users/bkkwon/.gnupg/pubring.kbx' created
Note: Use "gpg --full-generate-key" for a full featured key generation dialog.

GnuPG needs to construct a user ID to identify your key.

Real name: ABC
Email address: yyyy@pxxxx.com
You selected this USER-ID:
    "ABC <yyyy@pxxxx.com>"

Change (N)ame, (E)mail, or (O)kay/(Q)uit? O

gpg: revocation certificate stored as '/Users/xxxxx/.gnupg/openpgp-revocs.d/3EE715337D7881FCCD31AE6C3A505C8D31D1D907.rev'
public and secret key created and signed.

pub   ed25519 2023-04-06 [SC] [expires: 2025-04-05]
      3EE715337D7881FCCD31AE6C3A505C8D31D1D907
uid                      ABC <yyyy@pxxxx.com>
sub   cv25519 2023-04-06 [E] [expires: 2025-04-05]

위에 처럼 인증키를 컴퓨터에 설정합니다.

여기서 pub에 있는 3EE715337D7881FCCD31AE6C3A505C8D31D1D907 가 생성된 키입니다. (rsa3072알고리즘사용)

 

이렇게 발급된 GPG Key를 gitconfig에 설정합니다.

 

vi ~/.gitconfig

[user]
        name = ABC
        email = yyyy@pxxxx.com
        signingkey = 3EE715337D7881FCCD31AEXXXX505C8D31D1D907
[commit]
        gpgsign = true
[gpg]
        program = gpg

마지막으로 mac 유저는 아래의 패키지를 설치해 줍니다.

 

# 최초 커밋시에 비밀번호를 입력받을 수 있도록 필요
brew install --cask keybase
brew install pinentry-mac

echo "pinentry-program ${which pinentry-mac)" >> ~/.gnupg/gpg-agent.conf

# agent 재시작

gpgconf --kill gpg-agent

이렇게 하면 개인 컴퓨터에 설정 할 것은 완료가 되었습니다. 

이제 Github에 내 GPG Key를 등록해 줍시다.

 

먼저 public key를 뽑아냅니다.

 

gpg --armor --export 3EE715337D7881FCCD31AE6C3A505XXX31D1D907
-----BEGIN PGP PUBLIC KEY BLOCK-----

mDMEZC5XkBYJKwYBBAHaRw8BAQdAq0grZVq2eW3vIZp6CWxOkye7ixpDGBoQK2tY
gz7yxVm0F0JLIDxiZ2t3b25AcHhzY29wZS5jb20+iJkEExYKAEEWIQQ+5xUzfXiB
/M0xrmw6UFyNMdHZBwUCZC5XkAIbAwUJA8JnAAULCQgHAgIiAgYVCgkICwIEFgID
AQIeBwIXgAAKCRA6UFyNMdHZBz0YAQCsk82kA/pJaxe8oJBFZcHeAMtcVRXC/ai+
QPcRVcRUoAEAp9jVGjlgntCsnHAyqMOY6ramD8GsdDhd8wkJ4S54Jga4OARkLleQ
EgorBgEEAZdVAQUBAQdAPVEhjj1jL6NIP9oA7n5gXN6Kku34NsMlT6F2J+xBkSkD
AQgHiH4EGBYKACYWIQQ+5xUzfXiB/M0xrmw6UFyNMdHZBwUCZC5XkAIbDAUJA8Jn
AAAKCRA6UFyNMdHZB8IoAQCejj7OHX8BQcmuJrA6uQnQ7W1ST8KNhCi2BGW/UAXt
NQEA/4NdmOH+0TWg5SML/vTYwA83urqM7vOaJwR/HovUigs=
=1u4w
-----END PGP PUBLIC KEY BLOCK-----

 

위에서 발급받은 public key를 github사이트에 등록합니다.

개인설정 -> SSH & GPG Keys로 이동해서 New GPG Key를 선택합니다.

위와 같이 전체를 복사해서 붙여놓습니다.

그리고 저장을 하면 설정이 모두 완료 됩니다. 

 

이제 테스트 커밋을 해보면 됩니다.

 

반응형

관련글 더보기

댓글 영역