news 2026/8/11 12:08:19

SSH Key 与 GPG Key 区别详解:Git 使用中的身份与签名机制

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SSH Key 与 GPG Key 区别详解:Git 使用中的身份与签名机制

一、先给结论(重点)

SSH key 和 GPG key 都不是“必须同时配置”
但它们的功能几乎不重叠,是做两件完全不同的事

实际使用建议:

  • SSH key:几乎所有开发者都必须配置
  • GPG key:只有在“需要提交可信度或签名”的情况下才配置

二、一张表看懂 SSH key 与 GPG key

维度SSH keyGPG key
解决的问题你是谁?你有没有权限?这次提交是不是你本人写的?
用在 Git 的位置clone / pull / pushcommit / tag 签名
是否参与网络连接✅ 是(建立 SSH 连接)❌ 否(只对数据进行签名)
没有它会怎样无法拉取或推送代码能用 Git,但提交不“可信”
GitLab/GitHub 必需性✅ 是❌ 否
常见错误提示Permission denied (publickey)gpg failed to sign the data
是否能互相替代❌ 完全不能❌ 完全不能

三、用一句人话理解区别

SSH key = 门禁卡

  • 作用:验证你能不能进入 Git 仓库

  • 特点

    • 没有它就无法 clone / pull / push
    • 连接层的身份认证
  • 类比:就像公司大楼的门禁卡,你没卡就进不去办公楼


GPG key = 亲笔签名 / 公章

  • 作用:验证提交内容是否真的来自你本人

  • 特点

    • 提交可以照样被 Git 接收,但不显示“Verified”标志
    • 内容层的真实性校验
  • 类比:就像在文件上签名或盖章,别人可以确认是你签的,而不是别人伪造


四、为什么它们看起来有重叠?

很多新手误解在于:

  • 两者都叫key
  • 都跟Git有关

但核心区别在于信任对象不同

  • SSH key→ 服务器信任你
  • GPG key→ 其他开发者信任你的提交内容

信任的方向不同,所以功能完全不重叠。


五、到底需不需要两个都配置?

大部分开发者情况

情况建议配置
公司 GitLab / GitHub✅ SSH key
私有项目 / 日常开发SSH key 即可
开源项目 / 安全要求高SSH + GPG
需要显示提交 Verified必须 GPG

总结:

  • 90% 开发者只需 SSH key
  • GPG key 是可选增强安全措施

遇到实际问题的判断

如果你在执行git pushgit pull时遇到:

Permission denied (publickey)

说明:

  • 缺 SSH key 或配置不对
  • GPG key 对这个问题完全没帮助

正确组合应为:

SSH key → 用来 clone / pull / push GPG key → 用来 sign commit(可选)

六、SSH key 与 GPG key 的使用流程

SSH key 流程

  1. 生成 SSH key(ssh-keygen
  2. 将公钥添加到 Git 服务器(GitHub/GitLab)
  3. 使用 SSH 协议 clone / push / pull
  4. SSH 自动完成身份验证

GPG key 流程

  1. 生成 GPG key(gpg --full-generate-key

  2. 将公钥上传到 Git 服务器

  3. 配置 Git 使用该 GPG key 签名提交:

    gitconfig --global user.signingkey<GPG_KEY_ID>gitcommit -S -m"Your commit message"
  4. 其他人拉取代码时可验证签名真实性


七、总结一句话

SSH key 解决“我能不能访问仓库”
GPG key 解决“这次提交是不是我本人写的”

换句话说:

  • SSH key = 门禁卡
  • GPG key = 亲笔签名 / 公章

理解了这一点,再也不会混淆,也能根据自己的需求灵活配置。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/10 2:02:57

两台以上的电脑共用一套键盘鼠标(windows+windows)

两台以上的电脑共用一套键盘鼠标&#xff08;windowswindows&#xff09;方法一&#xff1a;使用软件&#xff08;最主流、便捷、成本低&#xff09;核心原理主流软件推荐使用 Mouse Without Borders方法二(不推荐)&#xff1a;使用硬件 KVM 切换器&#xff08;最稳定、无延迟)…

作者头像 李华
网站建设 2026/8/3 5:47:59

计算机毕业设计springboot协同过滤的就业系统的设计与实现 基于Springboot框架的就业推荐系统设计与实现 Springboot协同过滤技术在就业平台中的应用与开发

计算机毕业设计springboot协同过滤的就业系统的设计与实现qd11f&#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。随着互联网技术的飞速发展&#xff0c;就业市场也逐渐向数字化、智…

作者头像 李华
网站建设 2026/8/11 7:10:55

创客匠人+AI智能体:打造可持续增长的创始人IP资产体系

在《2026人工智能十大趋势》报告中&#xff0c;我们看到AI正从"可用"走向"主流"&#xff0c;成为基础设施。而其中最值得关注的&#xff0c;是"智能体落地加速"这一趋势。这不仅是技术演进&#xff0c;更是内容产业组织模式的革命——AI智能体将…

作者头像 李华
网站建设 2026/7/31 5:38:38

改图是噩梦?国产CAD能救你

客户打电话说一句话&#xff0c;核心结构调整&#xff0c;这一下就涉及几十个相关联的零件。这要放在以前&#xff0c;就是一场灾难。你得一个个打开零件图&#xff0c;手动修改尺寸&#xff0c;然后检查装配干涉&#xff0c;再更新所有工程图……天亮了也干不完&#xff0c;而…

作者头像 李华
网站建设 2026/8/8 12:12:48

Python 将 Markdown 转换为 Word 文档

在当今的技术文档工作流中&#xff0c;Markdown 因其简洁的语法和版本控制友好的特性&#xff0c;已成为开发者和技术写作者的首选格式。然而&#xff0c;在企业环境中&#xff0c;Word 文档仍然是正式报告、客户交付物和标准化文档的主流格式。 本文将分享如何使用 Free Spir…

作者头像 李华