Programming

[Git] 쉽게 Github 인증 뱃지 unverified를 verified로 바꾸기

물에빠진사람 2024. 6. 22. 16:29
반응형

약 반년 전 즈음에 처음 깃 서명을 알게 되었고 verified라는 깃헙 마크가 갖고 싶어서 깃헙 공식 문서를 보고 따라 했었던 기억이 있다. 당시 중간에 잘못 따라한 부분이 있었던 것인지 unverified가 떴었다. 이 문제를 오랜만에 해결해보고 싶어서 다시 공식 문서를 톺아보며 해결한 나의 간단한 방법을 작성해 보겠다.

 

(깃헙 공식 commit signature verification 문서)

https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification

 

About commit signature verification - GitHub Docs

Using GPG, SSH, or S/MIME, you can sign tags and commits locally. These tags or commits are marked as verified on GitHub so other people can be confident that the changes come from a trusted source.

docs.github.com


수 많은 시행착오의 흔적.. 잔디가 푸르러 졌다..

 

unverified가 뜨는 이유

먼저 unverified가 뜨는 이유를 파악하면 쉬워진다. unverified는 서명이 있지만 확인되지 않은 경우에 해당된다. GPG 키에 서명이 되어 있지만 해당 키가 깃헙에 존재하지 않거나, 만료되었을 때 뜬다. 확인해 볼 절차는 다음과 같다. git bash에 해당 명령어를 입력해 보자.

gpg --list-secret-keys --keyid-format LONG

 

만약 GPG 키가 존재한다면, 아래와 같은 키의 목록이 출력된다. 

/home/user/.gnupg/secring.kbx
------------------------------
sec   rsa4096 2022-06-15 [SC] [expires: 2024-06-14]
      1234567890ABCDEF1234567890ABCDEF12345678
uid           [ultimate] Alice Smith <alice.smith@example.com>
ssb   rsa4096 2022-06-15 [E] [expires: 2024-06-14]


/gpg/키/링/파일/경로.kbx
------------------------
sec   keyType&keySize/키_고유_식별자_마지막_16개 [생성된 날짜] [키의용도] [expires: 만료날짜	]
      키_고유_식별자
uid                 [사용자 ID신뢰수준] 소유자의 이름 <이메일>
ssb   keyType&keySize/비밀서브키 생성된 날짜 [E] [expires: 만료날짜]

 

만약 없다면 GPG 키를 생성하고 만약 존재한다면 해당 키의 이메일이 깃헙에 등록된 이메일과 같은지 확인해보아야 한다.

깃헙 우측 상단 프로필 아이콘 =>  설정 => 왼쪽 메뉴 바에서 Access의 Emails를 들어가면 확인할 수 있다.

 

만약 설정 Email에서 아래 체크 박스가 체크되어 있다면, GPG Key를 생성할 때 깃헙 이메일을 등록해서는 안된다. 만약 그랬다가는 내가 그랬듯이 unverified가 뜨게 된다. 아래 체크 박스를 설정하게 되면 이메일 형식을 새로 만들어주며 그 이메일 형식을 통해 깃을 활동하게 된다. 형식은 <깃헙 사용자이름>@users.noreply.github.com으로 변경된다.

Github Settings-Access-Email
Github Primary Email 예시

예시 사진의 primary 이메일 상세 설명 박스를 보면 norelpy.github.com으로 변경된 것을 볼 수 있다. 

 

이메일을 등록할 때 새로 받은 형식의 이메일을 등록해 주면 커밋했을 때, 이쁘게 verified가 뜨는 걸 확인할 수 있을 것이다!

반응형