首页/开发/Git 与协作速查/用 SSH 密钥签名提交
协作与代码评审75 条

用 SSH 密钥签名提交

Git 2.34 起支持 gpg.format=ssh:用已有 SSH 密钥签名,配置 allowedSignersFile 做本地验证,平台侧需上传同一公钥并启用。

Git 与协作速查开发更新于 2026-10-12
配置gpg.format ssh、user.signingkey 指向公钥路径、gpg.ssh.allowedSignersFile 用于本地验证
版本Git 2.34+
平台GitHub 支持 SSH 签名密钥并显示 Verified

常用配置

常用配置
git config --global gpg.format ssh
git config --global user.signingkey ~/.ssh/id_ed25519.pub
git config --global commit.gpgsign true
git log --show-signature -1
开放 SSH 签名配置较省事:不需要额外维护 GPG 密钥环;但签名与推送密钥仍建议分开管理。

易错点

  • allowedSignersFile 未配置时本地 log --show-signature 报无法验证,不等于签名无效
  • 同一把 SSH 密钥兼作推送与签名时,密钥轮换需要同步更新平台两侧配置

数据来源与参考

  • Git 官方文档:git-config(gpg.format=ssh)
  • GitHub Docs:Signing commits(SSH keys)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌