导入并信任 GitHub Web Flow GPG 密钥 (noreply@github.com) 作者: Shine 时间: 2025-05-15 分类: 神奇技巧 本指南介绍如何导入 GitHub Web Flow GPG 密钥,并手动将其信任等级设置为完全信任(ultimate),因为导入后的默认信任等级为未知。 ## 步骤 1:导入 GPG 密钥 使用以下命令导入 GitHub Web Flow GPG 密钥: ```bash curl https://github.com/web-flow.gpg | gpg --import ``` 该命令从 GitHub 下载 GPG 密钥并将其导入到您的 GPG 密钥环中。 ## 步骤 2:验证导入的密钥 导入后,您可以通过列出所有 GPG 密钥来验证密钥是否已成功添加: ```bash gpg --list-keys ``` 输出: > 其中有一个是过期的密钥,原因请参考: > * https://github.blog/news-insights/company-news/rotating-credentials-for-github-com-and-new-ghes-patches/ > * https://github.com/orgs/community/discussions/122178 ```bash pub rsa2048 2017-08-16 [SC] [过期于:2024-01-16] 5DE3E0509C47EA3CF04A42D34AEE18F83AFDEB23 uid [ 过期 ] GitHub (web-flow commit signing) pub rsa4096 2024-01-16 [SC] 968479A1AFF927E37D1A566BB5690EEEBB952194 uid [ 未知 ] GitHub ``` 查找与 `web-flow` 相关或 GitHub 提供的密钥 ID。输出将包含密钥的指纹和用户 ID 等详细信息,这里 KEY ID 是 `968479A1AFF927E37D1A566BB5690EEEBB952194` ## 步骤 3:将信任等级设置为完全信任 默认情况下,导入的密钥信任等级为未知,可能会在验证签名时出现问题。要将信任等级设置为完全信任,请按照以下步骤操作: 1. 启动 GPG 密钥编辑,针对特定的密钥。用实际的 GitHub Web Flow 密钥 ID 或指纹替换 `KEY_ID`: ```bash gpg --edit-key KEY_ID # gpg --edit -key 968479A1AFF927E37D1A566BB5690EEEBB952194 ``` 2. 在 GPG 提示符下,输入 `trust` 以修改信任设置: ``` gpg> trust ``` 3. 选择选项 `5` 表示完全信任: ``` 请决定您对该用户正确验证其他用户密钥的信任程度 (通过查看护照、检查不同来源的指纹等) 1 = 我不知道或不发表意见 2 = 我不信任 3 = 我略微信任 4 = 我完全信任 5 = 我绝对信任 m = 返回主菜单 您的决定? 5 ``` 4. 确认您的选择: ``` 您真的想将此密钥设置为绝对信任吗?(y/N) y ``` 5. 保存更改并退出: ``` gpg> quit ``` 示例截图:  ## 步骤 4:验证信任等级 要确认信任等级已更新,再次列出密钥详情: ```bash gpg --list-keys ``` 输出应显示该密钥现已被设置为绝对信任。 ## 注意事项 - 请将 `KEY_ID` 替换为实际的 GitHub Web Flow 密钥 ID 或指纹,您可以在 `gpg --list-keys` 的输出中找到。 - 将密钥设置为绝对信任表示您完全信任其用于验证签名的能力。在操作前,请确保您对密钥的真实性有信心。 - 有关 GPG 密钥管理的更多信息,请参阅官方 GPG 文档或 GitHub 关于验证签名的文档。 相关参考链接: 1. https://gnupg.org/howtos/zh/GPGMiniHowto-3.html 2. https://github.blog/news-insights/company-news/rotating-credentials-for-github-com-and-new-ghes-patches/ 标签: GitHub, GPG