首先生成GPG密钥对并设置基本信息,然后导出公钥添加到GitHub等平台,接着配置Git使用该密钥签名并确保邮箱一致,最后提交时自动签名,验证成功后显示“Verified”标签。

在使用 Git 进行版本控制时,确保提交来源的真实性非常重要。尤其是在开源项目或团队协作中,你希望确认每一条提交确实来自声称的开发者。Linux 环境下,可以通过 GPG(GNU Privacy Guard)签名 Git 提交来验证提交者身份。下面介绍如何配置并使用 GPG 对 Git 提交进行签名。
要使用 GPG 签名,首先需要在本地生成一个密钥对:
gpg --full-generate-key按照提示选择密钥类型(通常选 RSA)、密钥长度(推荐 4096 位)、设置有效期、输入用户名和邮箱(建议与 Git 账户一致)。完成后,GPG 会生成一对公私钥。
查看已生成的密钥:
gpg --list-secret-keys --keyid-format LONG输出中找 sec 行,格式如 rsa4096/ABC12345DEF67890,其中 ABC12345DEF67890 就是你的密钥 ID。
为了让他人验证你的提交,需将公钥上传到代码托管平台,例如 GitHub、GitLab 等。
导出公钥内容:
gpg --armor --export ABC12345DEF67890复制输出内容(以 -----BEGIN PGP PUBLIC KEY BLOCK----- 开头),粘贴到 GitHub 的 Settings → SSH and GPG keys → New GPG key 中保存。
告诉 Git 使用哪个 GPG 密钥进行签名:
git config --global user.signingkey ABC12345DEF67890启用提交签名(可针对全局或单个项目):
git config --global commit.gpgsign true如果只想对当前项目启用:
git config commit.gpgsign true同时确保 Git 使用的邮箱与 GPG 密钥绑定的邮箱一致:
git config --global user.email "your-email@example.com"当你执行提交时,Git 会自动调用 GPG 进行签名:
git commit -m "Fix login bug"若首次使用,系统可能会弹出窗口要求输入 GPG 密钥的密码。签名成功后,该提交就带有可信身份信息。
查看某次提交是否签名:
git log --show-signature -1输出中包含 gpg: Good signature 表示签名有效。
推送后,在 GitHub 上提交记录旁会出现 “Verified” 标签,表示提交已通过 GPG 验证。
基本上就这些。配置一次后,后续提交都会自动签名,帮助你建立可信赖的开发身份。安全虽小,积累成信。
以上就是Linux 安全:如何用 Git 提交签名 (GPG) 保证提交者身份的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号