用 gpg 簽署 git commit
GPG 還蠻麻煩的,所以順手紀錄一下整個流程順便複習自己的知識
1. 列出系統上的 keys
用 gpg --list-secret-keys --keyid-format=long
讀出 keys
gpg --list-secret-keys --keyid-format=long
1.1. 生成新的 gpg key
要是你還沒有 key,那麼就需要 gpg --gen-key
先生成一把
gpg --default-new-key-algo rsa4096 --gen-key
它會詢問
- Real name:
- Email address:
- 確認生成
- 問你要不要 passphrase(設定就是使用的時候需要密碼)
2. 設定 git
要讓 git 採用 gpg 簽名,首先要設定
git config commit.gpgsign true
你會輸入 git config --global user.signingkey <keyid>
讓 git
知道要用哪一隻,假設說你的 key ID 是
=3AA5C3431567BD2=,那就會像是下面的指令
git config --global user.signingkey 3AA5C3431567BD2
3. 在 GitHub 上設定
要讓 GitHub 也能認出來,就需要用 gpg --export -a <keyid>
去拿到 PGP
public key block,然後在SSH and GPG
keys 設定頁面把 PGP public key block 填進去。