UP | HOME

用 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

它會詢問

  1. Real name:
  2. Email address:
  3. 確認生成
  4. 問你要不要 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 填進去。

Date: 2022-11-16 Wed 00:00

Author: Lîm Tsú-thuàn