我最近在配置 GPG 签名,这样可以在以后的每一次 Commit 中验证身份,同时在旁边显示 Verified 小徽标。
生成密钥
生成新密钥。
$ssh-keygen -t ed25519 -C 'example@example.com'如果和现在的 SSH 认证密钥冲突,就需要另外指定文件的名称。
$ssh-keygen -t ed25519 -C 'example@example.com' -f ~/.ssh/id_ed25519_signing配置签名
创建允许的签名者配置文件,并复制输出的签名公钥内容。
$touch ~/.ssh/allowed_signers$cat ~/.ssh/id_ed25519_signing.pub把 <allowed_signers> 修改成类似于example@example.com ssh-ed25519 公钥的内容形式。
$echo '<allowed_signers>' >> ~/.ssh/allowed_signers$sed -i 's/\r$//' ~/.ssh/allowed_signersWindows 与 Unix 换行符的风格不同,你可能还需要在 VS Code 等编辑器中手动修改文件的行尾序列或者使用 sed 命令修改。
全局启用
使用 SSH 密钥作为签名格式git config --global gpg.format ssh私钥文件的路径git config --global user.signingkey ~/.ssh/id_ed25519_signing签名者配置文件的路径git config --global gpg.ssh.allowedSignersFile ~/.ssh/allowed_signers自动签名提交git config --global commit.gpgsign true现在前往 SSH and GPG keys 继续配置;点击 New SSH key,类型选择Signing Key,添加名称和公钥。
配置完成
$git config --list$git log --show-signature -1最后可以用这两条 git 命令再检查一遍即可。
提醒
提示Good "git" signature…即为验证成功。
GPG 签名
你问我开头提到的配置 GPG 签名去哪了?
🫠
被搞崩了。
评论区
评论加载中...