You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub提交签名配置失败:密钥格式无效问题求助

GitHub SSH提交签名格式错误解决方案

已执行操作

  • 在Git Bash生成密钥:
    ssh-keygen -m PEM -t ed25519 -C "你的邮箱"
    
  • 将生成的公钥上传至GitHub
  • 配置Git全局参数:
    git config --global gpg.format ssh
    git config --global user.signingkey '你的密钥内容'
    

错误信息

git -c user.useConfigOnly=true commit --quiet --allow-empty-message --file - -S
error: Load key "C:\Users\CoolUser\AppData\Local\Temp/.git_signing_key_tmpnwUfAT": invalid format?

fatal: failed to write commit object

解决方法

1. 修正签名密钥配置

user.signingkey配置项需要填写私钥的文件路径,而非密钥文本内容。比如你的私钥存储在C:\Users\CoolUser\.ssh\id_ed25519,执行以下命令更新配置:

git config --global user.signingkey "C:\Users\CoolUser\.ssh\id_ed25519"

Windows路径可使用正斜杠简化:/c/Users/CoolUser/.ssh/id_ed25519

2. 调整SSH密钥格式

Git使用SSH签名时,默认的OpenSSH格式兼容性更好。重新生成不带-m PEM参数的密钥:

ssh-keygen -t ed25519 -C "你的邮箱"

重新上传新的公钥到GitHub,再更新user.signingkey的路径配置。

3. 统一VSCode的Git环境

VSCode可能调用系统默认Git而非Git Bash版本。打开VSCode设置,搜索Git: Path,将路径指向Git Bash的Git可执行文件(例如C:\Program Files\Git\bin\git.exe)。

4. 验证签名有效性

在Git Bash中执行测试命令,确认签名配置正常:

git commit -S -m "测试签名提交"

如果此命令能成功执行,再回到VSCode尝试提交操作。

内容的提问来源于stack exchange,提问作者user19366910

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 07:44:16