阅读量:2
Yum 软件包签名验证操作指南
一 启用与配置签名验证
- 全局启用:在 /etc/yum.conf 中确保 gpgcheck=1,这样安装与更新时会自动校验软件包签名。示例:
[main] gpgcheck=1 - 按仓库配置:在 /etc/yum.repos.d/*.repo 的每个仓库段中设置 gpgcheck=1,并通过 gpgkey 指定公钥位置(本地或 URL)。示例:
说明:部分第三方仓库还会使用 repo_gpgcheck=1 来验证仓库元数据签名,可按需开启。以上配置均为 Yum 的标准做法,默认情况下 Yum 会进行签名校验。[base] name=CentOS-$releasever - Base baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
二 导入 GPG 公钥
- 导入系统发行版密钥(示例):
- RHEL/CentOS 7:
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 - Fedora(按版本选择对应密钥文件,如 RPM-GPG-KEY-fedora-
): sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-
- RHEL/CentOS 7:
- 导入第三方仓库密钥(示例:导入 RabbitMQ 与 Modern Erlang 仓库密钥):
sudo rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc sudo rpm --import https://packagecloud.io/rabbitmq/erlang/gpgkey sudo rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey - 提示:导入一次即可,后续安装/更新会自动使用该公钥进行校验。
三 安装与更新的签名校验
- 正常安装/更新:当 gpgcheck=1 且密钥已导入时,执行以下命令会自动校验签名,无需额外参数:
sudo yum installsudo yum update - 安全更新检查与安装:
sudo yum check-update --security sudo yum update --security - 临时跳过签名校验(不建议,仅用于应急):
sudo yum install--nogpgcheck - 说明:Yum 默认启用签名验证;若签名校验失败,说明软件包可能被篡改或来源不可信,应停止安装。
四 对本地 RPM 包进行签名校验
- 使用 rpm 校验本地 RPM 文件:
rpm -Krpmkeys --checksig - 期望输出包含 OK 或 Good signature 等字样;若提示 NOT OK 或 BAD signature,请勿安装。
- 对于非 RPM 的源码包(如 .tar.gz),通常提供 .sig 签名文件,可用 GPG 校验:
若未自动找到数据文件,可显式指定:gpg --verifygpg --verify - 建议先导入对应项目的公钥,再进行校验。
五 常见问题与排查
- 校验失败处理:出现 GPG signature verification failed 时,优先检查是否导入了正确的公钥、仓库 gpgkey 是否配置正确、系统时间是否准确(时间偏差会导致签名验证失败)。
- 第三方仓库:部分仓库(如 RabbitMQ)需要导入多个密钥,且同时开启 repo_gpgcheck=1 与 gpgcheck=1 更稳妥。
- 元数据与缓存:修改仓库或密钥后,建议清理缓存并重建元数据索引:
sudo yum clean all sudo yum makecache - 安全建议:生产环境不要长期关闭 gpgcheck;若必须临时绕过,请在完成安装后立即恢复并重新校验。
以上就是关于“Yum软件包签名验证怎么操作”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm