【Gitee】SSH 公钥、GPG 公钥、私人令牌的区别

一、核心对比表

维度 🔑 SSH 密钥 ✍️ GPG 密钥 🎫 私人令牌
本质 密钥对(公钥+私钥) 密钥对(公钥+私钥) 一串随机字符串
作用 免密 push/pull 的身份认证 给 commit 签名,证明是你提交的 代替密码认证 / 调 API
生成位置 本地终端 ssh-keygen 本地终端 gpg Gitee 网页上生成
配到 Gitee 上传公钥 上传公钥 无需上传,网页直接生成
怎么用 远程地址用 SSH 形式 配置 git 后每次提交自动签名 密码栏填 token / API 请求头
秘密部分 私钥留本地 私钥留本地 整串都是秘密
能否"登录" ✅ 能 ❌ 不能 ✅ 能(代替密码)

二、分别怎么生成、怎么用

🔑 SSH 密钥

复制代码
# 生成(本地)
ssh-keygen -t ed25519 -C "你的邮箱@example.com"
# 生成两个文件:~/.ssh/id_ed25519(私钥,留在本地)和 id_ed25519.pub(公钥)

配到 Gitee :cat ~/.ssh/id_ed25519.pub 复制 → Gitee 设置 → 安全设置 → SSH公钥 → 粘贴。

使用:远程地址换成 SSH 形式,push 自动认证:

复制代码
git remote set-url origin git@gitee.com:用户名/仓库.git
git push        # 不再问密码

✍️ GPG 密钥

复制代码
# 生成(本地)
gpg --full-generate-key      # 姓名/邮箱要和 Gitee 账号一致
gpg --list-secret-keys --keyid-format=long   # 记下 key ID(如 ABCD1234EFGH5678)
gpg --armor --export ABCD1234EFGH5678        # 导出公钥

配到 Gitee :复制导出内容 → Gitee 设置 → 安全设置 → GPG公钥 → 粘贴。

使用:配置 git 后,每次提交自动签名:

复制代码
git config --global user.signingkey ABCD1234EFGH5678
git config --global commit.gpgsign true
git commit -m "..."     # 提交自动带签名,Gitee 显示绿色「已验证」

🎫 私人令牌

生成 :Gitee 网页 → 设置 → 安全设置 → 私人令牌 → 生成新令牌(勾权限范围,⚠️只显示一次)。

使用(两种):

复制代码
# 1) HTTPS push 时,密码栏填令牌
git push
# Username: 用户名 / Password: 粘贴令牌

# 2) 调 API
curl -H "Authorization: token 你的令牌" https://gitee.com/api/v5/user

三、一句话记忆

想要什么 用什么
push 时免输密码 SSH 密钥
让提交防伪造(绿色已验证) GPG 密钥
临时/受限的密码替代品、调 API 私人令牌

关键区别再强调一遍:SSH 和 GPG 都是「本地生成密钥对、只上传公钥、私钥留本机」;私人令牌则是「网页直接生成一整个秘密字符串」,没有公私钥之分。

相关推荐
黄大刀34 分钟前
DataPulse一款开箱即用的SCADA(四)-历史记录
运维·scada·动环
归秋1423 小时前
2026 企业 AI 办公工具选型指南:从评估框架到产品适配
大数据·运维·人工智能
Android系统攻城狮3 小时前
Linux Gstreamer深度解析之gst_audio_encoder_set_frame_max调用流程与实战(六十一)
android·linux·运维·音视频·gstreamer音视频·音视频进阶·gstreamer音视频进阶
硅基手札4 小时前
【Linux内核专栏 14】网络协议栈
linux·运维·网络协议
工作10年+,存储芯片行业6 小时前
Linux NVMe 中断排查与性能优化:CPU 亲和性
linux·运维·服务器·windows·性能优化·ssd·pcie
酣大智6 小时前
H3C MSR3600 交换机配置 SSH
网络·ssh·智能路由器
快乐の番薯7 小时前
卷王问卷考试系统自动化功能测试
运维·功能测试·自动化
一号弯7 小时前
装完LINUX,请先新建日常用户
linux·运维·服务器
许彰午8 小时前
03-Linux环境准备依赖包内核参数与用户组
linux·运维·服务器·数据库
阳光九叶草LXGZXJ8 小时前
达梦数据库-报错-16-MERGE INTO提示:无效的列名[XX]
linux·运维·数据库·sql·学习