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

一、先给结论(重点)

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

实际使用建议:

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

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

维度 SSH key GPG key
解决的问题 你是谁?你有没有权限? 这次提交是不是你本人写的?
用在 Git 的位置 clone / pull / push commit / 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 签名提交:

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


七、总结一句话

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

换句话说:

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

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

相关推荐
赵民勇25 分钟前
systemd-socket-activate命令详解
linux·运维
跨境小彭1 小时前
Temu运营避坑:制造地点信息填写规范、后果及批量实操教程
大数据·运维·自动化·跨境电商·temu
Dachui_11222 小时前
ZeroNews LFS 使用教程:NAS 文件发布为公网 HTTPS 文件空间,不传网盘、按人授权、免登录分享
运维·网络安全·文件共享·团队协作·nas
智能运维指南2 小时前
2026年企业自动化运维平台选型:四类架构的差异与决策逻辑
运维·人工智能·嘉为蓝鲸
szephyr2 小时前
Nginx 反向代理实战:从 502、跨域到 HTTPS,一次打通
运维·nginx·https·部署·反向代理
一技安身2 小时前
【信创】docker-26.0.2.tgz 原理 + 完整安装
linux·运维·服务器
Dachui_11223 小时前
内网穿透 Webhook 告警实战:客户端离线、应用探测、资源删除全覆盖
运维·远程工作·内网穿透·devops·webhook·服务器监控·应用探测
数据智研3 小时前
【数据分享】300个城市-5G试点城市DID数据(2014-2025)
大数据·运维·人工智能·信息可视化·数据分析
honsor3 小时前
工业级网口温湿度变送器 ModbusTCP 机房动环环境监测终端
运维·网络·人工智能·物联网·安全·云计算·智能温湿度监测系统
fengkai45453 小时前
八、Docker详解1-3
运维·docker·容器