遵循Ubuntu下载验证步骤后,GPG验证ISO镜像出现BAD signature问题
解决Ubuntu ISO镜像GPG验证报BAD signature问题
以下是针对性的排查和解决步骤:
1. 确保正确导入官方签名密钥
错误提示中的密钥是Ubuntu 2012年的CD镜像自动签名密钥,直接从Ubuntu官方密钥服务器重新导入:
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 843938DF228D22F7B3742BC0D94AA3F0EFE21092
导入后检查密钥信息,确认无误:
gpg --list-keys 843938DF228D22F7B3742BC0D94AA3F0EFE21092
输出应包含Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>的完整信息。
2. 验证签名文件与ISO的匹配性
- 确认下载的签名文件(
.sig或.asc)与ISO镜像版本、文件名完全对应,比如ubuntu-22.04.3-desktop-amd64.iso必须对应ubuntu-22.04.3-desktop-amd64.iso.sig,不能混用不同版本的签名文件。 - 执行验证命令时,明确指定ISO文件路径(确保两者在同一目录):
gpg --verify ubuntu-xxx.iso.sig ubuntu-xxx.iso
3. 先通过哈希值验证ISO完整性
如果GPG验证失败,先通过SHA256哈希确认ISO本身未损坏:
- 下载对应版本的官方SHA256哈希文件
- 执行哈希校验:
sha256sum --check SHA256SUMS 2>&1 | grep OK
若输出ubuntu-xxx.iso: OK,说明ISO文件完整,问题集中在密钥或签名文件环节;若哈希不匹配,换镜像源重新下载ISO。
4. 用官方哈希文件的签名做双重验证
更稳妥的方式是先验证哈希文件的签名,再验证ISO哈希:
# 下载哈希文件及对应签名 wget https://releases.ubuntu.com/22.04/SHA256SUMS wget https://releases.ubuntu.com/22.04/SHA256SUMS.gpg # 验证哈希文件的签名合法性 gpg --verify SHA256SUMS.gpg SHA256SUMS # 验证ISO文件的哈希一致性 sha256sum --check SHA256SUMS 2>&1 | grep OK
如果哈希文件的签名验证通过,再验证ISO哈希,能排除大部分签名文件错误的问题。
5. 标记密钥为可信(可选)
若密钥导入正确但仍有异常提示,可标记密钥为完全信任:
gpg --edit-key 843938DF228D22F7B3742BC0D94AA3F0EFE21092
在交互界面输入trust,选择5(完全信任),再输入save退出。
内容的提问来源于stack exchange,提问作者Stuart Hodgson
相关产品推荐
相关产品推荐

