Git/Gitee/GitHub 3 个安全凭证详解

这三者都是用于替代传统账号密码的身份验证方式,具有更高的安全性和便利性,但它们的用途和适用场景完全不同:

  • SSH公钥:日常开发的主力,实现本地代码操作免密认证
  • 私人令牌:自动化与API调用的利器,替代密码的专用凭证
  • GPG公钥:代码提交的"防伪印章",确保提交记录的真实性

1. SSH公钥 - 日常开发的主力

1.1 什么是SSH公钥?

SSH公钥采用非对称加密技术,分为两部分:

  • 私钥:安全保存在本地电脑,绝对不能泄露
  • 公钥:需要添加到Gitee/GitHub等代码托管平台

工作原理是平台通过公钥向本地私钥发起身份验证挑战,整个过程私钥永不离开本地电脑,安全性极高。

1.2 核心用途

日常代码操作git clonegit pullgit push等操作免输密码

开发者标配 :99%的开发者在本地开发时首选的认证方式

全程加密:所有通信都经过加密,安全性强

1.3 配置步骤

Step 1: 生成密钥对

复制代码
ssh-keygen -t ed25519 -C "your_email@example.com"

Step 2: 复制公钥内容

复制代码
# 查看公钥内容
cat ~/.ssh/id_ed25519.pub

Step 3: 添加到平台

  1. 登录Gitee/GitHub
  2. 进入"设置" → "SSH公钥"
  3. 粘贴公钥内容并保存

Step 4: 使用SSH地址

复制代码
# 使用SSH地址克隆仓库
git clone git@gitee.com:username/repository.git

2. 私人令牌 (Personal Access Token)

2.1 什么是私人令牌?

私人令牌(PAT)是一串由平台生成的、用于替代账号密码的专用字符串。它可以设置不同的权限范围和有效期,是现代开发中更安全的认证方式。

2.2 核心用途

HTTPS协议免密 :在使用https://地址时作为密码使用

自动化调用 :CI/CD流水线、自动化部署脚本的标准凭证

API访问:第三方工具和应用调用平台API的认证方式

2.3 安全优势

🔒 权限精细化 :可以单独设置读写权限

📅 有效期控制 :可设置过期时间,降低泄露风险

🚫 随时吊销 :发现泄露可立即手动吊销

🛡️ 风险隔离:一个令牌泄露不影响其他令牌和主账号

2.4 配置与使用

Step 1: 生成令牌

  1. 进入平台"设置" → "私人令牌"
  2. 点击生成新令牌
  3. 勾选所需权限(如repo权限)

Step 2: 立即保存

  • 令牌生成后仅显示一次,必须立即复制保存
  • 关闭页面后无法再次查看

Step 3: 使用场景

复制代码
# HTTPS克隆时使用
git clone https://gitee.com/username/repository.git
# 输入用户名后,密码栏输入令牌

3. GPG公钥 - 代码提交的"防伪印章"

3.1 什么是GPG公钥?

GPG公钥用于给Git提交记录进行数字签名,确保每次代码提交的真实性和完整性,防止他人冒充或篡改代码。

3.2 核心用途

验证提交者身份 :证明提交确实由本人完成

确保代码完整性 :防止代码在传输过程中被篡改

提升项目可信度:开源项目和企业团队的合规审计需求

3.3 配置步骤

Step 1: 安装GPG工具

复制代码
# Ubuntu/Debian
sudo apt-get install gnupg

# macOS
brew install gnupg

Step 2: 生成GPG密钥

复制代码
gpg --full-generate-key

Step 3: 导出公钥

复制代码
# 列出密钥
gpg --list-secret-keys --keyid-format LONG

# 导出公钥
gpg --armor --export YOUR_KEY_ID

Step 4: 添加到平台

  1. 复制导出的公钥内容
  2. 添加到Gitee/GitHub的"GPG Keys"设置中

Step 5: 配置Git签名

复制代码
git config --global user.signingkey YOUR_KEY_ID
git config --global commit.gpgsign true

三者快速对比表

凭证类型 主要用途 适用场景 推荐人群
SSH公钥 本地代码操作认证 日常开发、代码拉取推送 所有开发者
私人令牌 密码替代品 HTTPS操作、自动化脚本、API调用 自动化运维
GPG公钥 提交记录签名 身份核验、合规审计 开源维护者

新手最佳实践指南

第一步:优先配置SSH公钥

这是日常开发的基础配置,一次设置终身受益:

  1. 生成SSH密钥对
  2. 添加公钥到平台
  3. 使用SSH地址克隆仓库

第二步:按需使用私人令牌

当需要以下操作时再生成令牌:

  • 使用HTTPS协议克隆仓库
  • 配置CI/CD流水线
  • 第三方工具集成
  • 自动化脚本部署

重要提示:为不同用途创建不同权限的令牌,并及时回收不再使用的令牌。

第三步:进阶配置GPG签名

对于个人项目或学习用途,GPG签名不是必需的。当参与以下项目时再考虑配置:

  • 大型开源项目
  • 企业级代码库
  • 有严格审计要求的项目

总结

掌握这三大安全凭证的使用是现代软件开发者的必备技能:

  1. SSH公钥是日常开发的基石,实现安全便捷的代码操作
  2. 私人令牌是自动化时代的标准,替代传统密码的专用凭证
  3. GPG公钥是代码可信度的保障,确保提交记录的真实性和完整性

通过合理配置和使用这些安全凭证,您不仅能提升开发效率,更能显著增强代码仓库的安全性。记住:安全不是一蹴而就的,而是通过正确的工具和习惯逐步建立起来的。


本文档旨在帮助开发者理解Git安全凭证的核心概念和使用方法,建议结合实际开发需求选择合适的认证方式。

相关推荐
第一程序员3 小时前
2026年GitHub上最值得学习的Python库
python·github
gt131453 小时前
GitHub 学生认证须知
github
搞程序的心海3 小时前
使用 VS Code 将项目代码上传到 Gitee 的完整指南
gitee
合合技术团队5 小时前
智能合同审查搭建教程:低质量PDF怎么处理?先解析清洗,再分路审阅(附GitHub项目地址)
pdf·prompt·github·textin
三无推导5 小时前
深入解析 ComposioHQ/awesome-codex-skills:从 Prompt 复用到 AI 工程技能化的实践路径
人工智能·性能优化·开源·prompt·github
李日灐5 小时前
< 7 > Linux 开发工具:git 版本控制器 和 cgdb/gdb 调试器
linux·运维·服务器·开发语言·git·调试器·gdb/cgdb
Gust of wind6 小时前
idea结合git和Gitee的初步使用
git·gitee·intellij-idea
夜七少eleanor6 小时前
【Git】2026全图文详解安装教程
git
海边的Kurisu6 小时前
从零开始的Git生活 | 刚实习同学的噩梦 And 参与开源不可缺的一环
git·生活