GPG 에이전트를 죽일 시간입니다 - Git SSH 코드 서명
코드 서명의 장점
대규모 오픈 소스 프로젝트에 기여하는 경우 대부분 코드 서명이 필요합니다. 왜요?
의도적으로 Git을 사용하면 누구나 가장할 수 있습니다. 예를 들어:
git -c user.name='Linus Torvalds' -c user.email='[email protected]' commit -m "hi"
이제 GitHub에서 무언가를 커밋하면 Linux Torvalds가 커밋한 것으로 표시됩니다. 이 항목에 대한 자세한 내용은 여기를 확인하세요. 이것이 왜 위험하지 않습니까? 코드 서명 때문에 코드에 서명하면 다른 사람들이 100% 본인임을 확신할 수 있습니다.
GPG를 통해 SSH를 사용하는 이유는 무엇입니까?
내가 생각하는 몇 가지 유효한 점이 있습니다.
설정
이러한 명령은 Git Bash를 사용하는 경우 Windows, Linux 및 macOS에서 작동해야 합니다(Windows에서 ~에 문제가 있는 경우 상대 경로 사용).
새 키를 생성해 보겠습니다(기존 SSH 키를 사용할 수 있음).
ssh-keygen -t ed25519 -C "[email protected]"
파일을 저장할 위치와 파일 이름을 선택할 수 있습니다. 기본값을 권장합니다. 그리고 암호를 묻는 메시지가 나타납니다. 기본 옵션을 수락한 경우 키는
~/.ssh
에 있어야 합니다. 이제 새 키를 ssh-agent에 추가하십시오.ssh-add ~/.ssh/id_ed25519
ssh-agent가 실행되고 있지 않을 수 있다는 오류가 표시되면 다음을 실행합니다.
eval "$(ssh-agent -s)"
이제 Git 통합을 구성하겠습니다.
git config --global gpg.format ssh
이제
~/.ssh/id_ed25519.pub
공개 키 파일의 내용을 복사합니다.git config --global user.signingkey 'ssh-ed25519 AAAAC3... [email protected]'
GitHub에 키 업로드
이제 GitHub settings 으로 이동합니다. 새 SSH 키 추가를 클릭합니다. 서명 키를 선택했는지 확인하십시오. 공개 키 파일의 내용을 붙여넣습니다.
이제 커밋을 리포지토리로 푸시하고 커밋을 클릭하면 멋진 인증 배지가 표시됩니다. 다음을 사용하여 지문을 확인할 수 있습니다.
ssh-keygen -lf ~/.ssh/id_ed25519.pub
이전 GPG 키 취소
원하는 경우 이전 GPG를 쉽게 취소할 수 있습니다.
현재 키를 나열합니다.
gpg --list-keys
ABCD1234
와 같은 첫 번째 줄에 공개 키 ID가 필요한 다음 키를 취소합니다.gpg --output revoke.asc --gen-revoke key
그런 다음 저장한 해지 인증서를 가져옵니다.
gpg --import revoke.asc
키링에서 키를 성공적으로 취소했습니다. 이제 GitHub 계정에서 동일한 GPG 키를 삭제하고 다시 업로드해야 합니다. 모든 작업을 제대로 수행했다면 이전 커밋을 살펴보고 멋진 주황색 "취소됨"배지를 볼 수 있습니다.
Reference
이 문제에 관하여(GPG 에이전트를 죽일 시간입니다 - Git SSH 코드 서명), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/levminer/its-time-to-kill-your-gpg-agent-git-ssh-code-signing-25ka텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)