방법 2: GPGTools 없이 macOS에서 GPG 사용하기

3693 단어 githowtogpggpgtools
나는 GPGTools를 좋아하지 않는다. macOS에서 GPG를 원합니다. 모든 자습서에는 사용되지 않는 부분이 있습니다. 내가 한 일은 다음과 같습니다.


GPGTools는 내가 사용하고 싶지 않은 많은 것을 설치합니다. GitHub에서 커밋에 서명하고 GPG 키를 macOS 키체인에 저장하고 싶습니다.

이를 달성하기 위한 두 가지 주요 종속성이 있습니다. gnupg에는 키를 생성하고 사물에 서명하는 GPG 도구와 에이전트 작업을 수행하는 에이전트가 포함되어 있습니다. 키 암호를 입력하라는 메시지를 표시하고 OS 키 체인에 저장하는 GPGTools의 일부인 pinentry-mac.

GPG 설정



먼저 homebrew을 설치합니다.

그런 다음 종속 항목을 설치합니다.

brew install gnupg pinentry-mac

그런 다음 첫 번째 키를 생성해 보겠습니다. 키 크기가 4096인 RSA 및 RSA를 사용하고 키가 만료되지 않도록 하는 것이 좋습니다. choose a strong password을 기억하십시오.

gpg --full-generate-key

이제 ~/.gnupg/gpg-agent.conf 파일을 생성하여 pinentry-mac을 사용하도록 gpg-agent를 구성해야 합니다.

# Connects gpg-agent to the OSX keychain via the brew-installed
# pinentry program from GPGtools. This is the OSX 'magic sauce',
# allowing the gpg key's passphrase to be stored in the login
# keychain, enabling automatic key signing.
pinentry-program /usr/local/bin/pinentry-mac

그런 다음 pinentry-mac이 키체인에 암호를 저장할 수 있도록 테스트 메시지에 서명합니다.

echo "test" | gpg --clearsign

암호를 묻는 대화 상자가 열립니다. "키체인에 저장"을 체크하는 것을 잊지 마십시오.

GitHub에 연결



먼저 비공개 키를 복사하여 GitHub에 추가합니다.

gpg --export --armor [email protected] | pbcopy

그리고 GitHub’s Settings > SSH and GPG keys > New GPG key 에 붙여넣습니다.

둘째, 서명된 커밋을 사용하도록 git 환경을 구성합니다. 전 세계적으로 했습니다. 먼저 공개 GPG 키를 얻습니다.

$ gpg --list-secret-keys
(...)
sec   rsa2048 2019-01-15 [SC]
      YOUR_GPG_KEY_APPEARS_HERE
uid           [ultimate] Your Name <[email protected]>
ssb   rsa2048 2019-01-15 [E]

그런 다음 git을 구성합니다.

git config --global commit.gpgsign true
git config --global user.signingkey YOUR_GPG_KEY

마지막으로 -S 인수로 무언가를 커밋하여 서명되었는지 확인합니다.

git commit -S -m "Testing GPG signature"

문제 해결



작동하지 않는 경우 시도할 수 있는 작업:

# Kill gpg-agent
killall gpg-agent

# Run gpg-agent in daemon mode
gpg-agent --daemon



Micah Williams에 있는 Unsplash의 표지 사진 .

좋은 웹페이지 즐겨찾기