GitHub无法验证SSH签名Git提交问题求助
解决GitHub上ED25519 SSH签名提交未验证的问题
以下是几个排查和修复的关键点:
检查允许签名者文件格式
你的allowedsigners文件必须严格遵循格式:你的提交邮箱 ssh-ed25519 完整的公钥内容,示例如下:12345+username@users.noreply.github.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH...(完整公钥字符串)注意事项:
- 邮箱必须和Git配置里的
user.email完全一致,包括noreply的格式 - 不能填写公钥文件路径,要直接粘贴
.pub文件里的完整公钥内容(去掉末尾的邮箱注释也可以,但必须保留密钥主体部分) - 每行只能包含一个签名者条目
- 邮箱必须和Git配置里的
确认GitHub上SSH密钥的用途设置
登录GitHub进入「Settings → SSH and GPG keys」,找到你添加的ED25519密钥:- 点击密钥旁的「Edit」按钮
- 在「Key type」下拉菜单中选择「Signing key」(如果需要同时用该密钥推送代码,可额外勾选「Allow use for authentication」)
- 保存更改
核对Git配置的邮箱一致性
确保user.email和你在GitHub账号关联的邮箱完全匹配,包括+username和noreply的格式,不能有空格或拼写错误。可通过以下命令确认当前配置:git config --global user.email重新签名并推送提交
修正配置后,可重新签署最近的提交(以最近一次提交为例):git commit --amend --no-edit --gpg-sign git push --force-with-lease刷新GitHub页面后,提交应该会显示为已验证状态。
内容的提问来源于stack exchange,提问作者Christian Olsen
相关产品推荐
相关产品推荐

