PGP 密钥常用命令记录
本文记录了在使用 gpg
管理 PGP 密钥时的一些常用命令.
查看本地公钥:
gpg -k --keyid-format long
验证私钥密码:
gpg --export-secret-keys -a $your_key_id > /dev/null && echo OK
gpg --dry-run --passwd $your_key_id
echo foo | gpg --default-key $your_key_id --clearsign
发布你的公钥到 key server:
gpg --keyserver keys.openpgp.org --send-keys <key_id>
导出公钥 / 私钥:
gpg --export -a $your_key_id > public.asc
gpg --export-secret-keys -a $your_key_id > private.asc
Integrate with git
添加如下代码到 ~/.zshrc
:
export GPG_TTY=$(tty)
设置 ~/.gitconfig
:
[user]
signingkey = XXXXXXXXXX
[commit]
gpgsign = true
Integrate with ssh
在远程主机使用本地的 PGP 密钥: https://wiki.gnupg.org/AgentForwarding
FAQ
-
当创建一个新的子密钥时,是否需要对公钥进行修改?
当一个新的子密钥被创建时,主密钥本身并不会被修改,但你公开的 primary key block 需要更新. 否则,其他人通过旧的 key block 加密的信息无法被你新的子密钥解密,但仍然能通过主密钥认证你的身份.
参考
- https://ulyc.github.io/2021/01/13/2021%E5%B9%B4-%E7%94%A8%E6%9B%B4%E7%8E%B0%E4%BB%A3%E7%9A%84%E6%96%B9%E6%B3%95%E4%BD%BF%E7%94%A8PGP-%E4%B8%8A/
- https://ulyc.github.io/2021/01/26/2021%E5%B9%B4-%E7%94%A8%E6%9B%B4%E7%8E%B0%E4%BB%A3%E7%9A%84%E6%96%B9%E6%B3%95%E4%BD%BF%E7%94%A8PGP-%E4%B8%8B/
- https://blog.ginshio.org/2020/gpg_started_guide/