VSCode安装GPG签名 代码安全VSCode验证提交者身份

落敏姑娘_6937

落敏姑娘_6937

2026-04-15

175人浏览

原创

vscode本身不安装gpg签名,需配置git的gpg提交参数并确保其能正确访问本地git和gpg环境;关键步骤包括:确认git路径正确、在vscode终端手动启动gpg-agent、设置user.signingkey和commit.gpgsign为true、验证签名是否生效。

vscode安装gpg签名 代码安全vscode验证提交者身份

VSCode 本身不“安装 GPG 签名”,它只是调用系统 Git 和 GPG 工具链来完成签名;真正要配的是 Git 的 GPG 提交配置,且 VSCode 必须能正确访问到你本地的 git 和 gpg 环境。

确认 Git 正在使用你手动安装的版本

VSCode 内置终端默认用非登录 shell 启动,常导致 gpg-agent 未加载、gpg 命令找不到或路径错乱。最常见表现是:git commit -S 在终端里成功,但在 VSCode Source Control 视图中点提交却报 error: gpg failed to sign the data 或静默失败。

  • 打开 VSCode 终端,运行 which git,确认输出类似 /usr/local/bin/git(macOS)或 /usr/bin/git(Ubuntu),而不是 /snap/bin/git 或系统旧版(如 Ubuntu 自带的 2.25)
  • 在 VSCode 设置中搜索 git.path,手动填入你期望的 git 路径;若留空,VSCode 可能 fallback 到不可靠的内置或系统路径
  • 重启 VSCode —— 配置变更后不重启,git.path 不生效

让 VSCode 终端加载 gpg-agent

Ubuntu/macOS 下,gpg-agent 默认只在登录 shell 中自动启动。VSCode 终端没继承这个环境,git commit -S 就会卡住或报 No pinentry。

VSCode
VSCode

避免常见的 VSCode 错误——设置冲突、调试器配置和扩展冲突。

下载
  • 在 VSCode 终端中执行一次:gpgconf --launch gpg-agent,这会显式启动 agent 并设置好 GPG_AGENT_INFO 环境变量
  • 为避免每次重启都要手动跑,把以下内容加到你的 shell 配置文件(如 ~/.zshrc 或 ~/.bashrc)中:
if [ -z "$GPG_AGENT_INFO" ]; then
  export GPG_TTY=$(tty)
  gpgconf --launch gpg-agent
  export GPG_AGENT_INFO
fi
  • 改完后重开终端或运行 source ~/.zshrc,再验证 echo $GPG_AGENT_INFO 是否有输出
  • 检查并设置 Git 的 signingkey 和 gpg.program

    Git 需明确知道用哪个密钥、调哪个 gpg 二进制。不同系统上 gpg 路径可能不同(如 macOS 上 Homebrew 安装的是 /usr/local/bin/gpg,Ubuntu 是 /usr/bin/gpg),填错就签名失败。

    • 运行 gpg --list-secret-keys --keyid-format LONG,找到 sec 行末尾那串 40 位字符(如 ABC1234567890DEF...),这就是你要设的 user.signingkey
    • 运行 which gpg 确认路径,然后执行:
    git config --global user.signingkey ABC1234567890DEF...
    git config --global commit.gpgsign true
    git config --global gpg.program /usr/bin/gpg
  • 注意:不要用 gpg2(已弃用),也不要漏掉 --global —— VSCode 提交走的是全局配置,不是仓库级
  • 验证签名是否真被 VSCode 使用

    别只信 GitHub/GitLab 页面上显示 “Verified” 就算完。VSCode 提交界面是否真的触发了签名,得看本地日志和行为。

    • 在 VSCode 中提交前,先在终端运行:git config --get user.signingkey 和 git config --get commit.gpgsign,确保两者都返回预期值
    • 提交后立即运行:git log --show-signature -n 1,输出中必须包含 Good signature from ...,而非 Can't check signature: No public key
    • 如果签名成功但 GitHub 不显示 Verified,说明公钥没上传 —— 运行 gpg --armor --export ABC123... | pbcopy(macOS)或 gpg --armor --export ABC123... | xclip -selection clipboard(Linux),然后粘贴到 GitHub Settings → SSH and GPG keys 页面

    最容易被忽略的是:VSCode 启动时不会自动读取你 shell 配置里的 gpg-agent 启动逻辑,哪怕你已经配置了 ~/.zshrc。它依赖终端首次加载时的环境快照,所以改完配置必须彻底关闭所有 VSCode 窗口再重开,不能只 reload window。

    相关文章

    PHP速学视频免费教程(入门到精通)
    PHP速学视频免费教程(入门到精通)

    PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

    下载

    相关标签:

    vscode vscode安装

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    相关专题

    更多
    vscode是什么_vscode怎么安装配置
    vscode是什么_vscode怎么安装配置

    VS Code(Visual Studio Code)是一款免费、开源的跨平台代码编辑器,由微软开发和维护。它被广泛用于软件开发和编程,支持多种编程语言和框架。VS Code 同时提供了丰富的功能和扩展性,使开发者可以高效地编写、编辑和调试代码。

    2023.06.30

    1275

    18

    vscode怎么运行代码
    vscode怎么运行代码

    vscode是一个运行于MacOS X、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器;vscode免费而且功能强大,对JavaScript和NodeJS的支持非常好,自带很多功能,例如代码格式化,代码智能提示补全、Emmet插件等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

    2023.07.21

    2672

    3

    vscode使用的框架介绍
    vscode使用的框架介绍

    VSCode是一款跨平台代码编辑器,它基于Electron框架和Monaco Editor构建。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

    2024.03.14

    1909

    12

    vscode一般用来写什么语言
    vscode一般用来写什么语言

    VSCode是一款功能强大的代码编辑器,支持多种编程语言和文件格式。它内置对 JavaScript、Python、Java、C++、TypeScript、HTML/CSS、Go 等语言的支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

    2024.03.14

    1727

    8

    vscode可以写什么语言
    vscode可以写什么语言

    vscode是一款强大的代码编辑器,支持多种编程语言的开发。通过安装扩展,可以为 JavaScript/TypeScript、Python、Java、C#、PHP、Go、Ruby、Rust、HTML/CSS 等语言提供智能代码补全、调试和格式化等功能。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

    2024.03.15

    2587

    12

    vscode中文设置方法
    vscode中文设置方法

    方法一:在设置页面中,搜索“locale”,并选择“zh-cn”。方法二:按“Ctrl Shift P”快捷键,输入“Configure Display Language”,将语言修改为“zh-cn”。如果上述方法无效,可考虑安装中文插件。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

    2024.03.15

    1818

    14

    vscode用途介绍
    vscode用途介绍

    Visual Studio Code(VSCode)是一款由 Microsoft 开发的多功能文本编辑器,适用于各种编程语言。作为一款开源软件,VSCode 拥有代码高亮、自动补全、调试、Git 集成等强大功能,成为程序员不可或缺的工具。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

    2024.03.15

    1242

    10

    vscode和visualstudio的区别
    vscode和visualstudio的区别

    Visual Studio是一款功能强大的集成开发环境(IDE),适用于专业开发人员进行复杂项目的构建。而VSCode则是一款轻量级的代码编辑器,更适合各种规模的项目开发。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

    2024.03.15

    1116

    8

    vscode设置中文界面不生效解决方法
    vscode设置中文界面不生效解决方法

    vscode设置中文界面不生效解决方法:安装中文语言包、通过命令面板设置语言、检查 locale.json 设置、重新安装中文语言包、检查 VSCode 版本和更新、排除插件冲突、检查系统语言设置、查看 VSCode 日志和错误消息、重置 VSCode 设置、查看官方文档和社区支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

    2024.03.15

    474

    5

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程