在 CentOS 中“导入公钥”通常指 导入 GPG 公钥,用于 RPM 软件包签名校验 或 YUM/DNF 仓库验证。下面按常见场景说明。
一、导入 RPM 包签名公钥(最常见)
1️⃣ 从文件导入公钥
sudo rpm --import /path/to/public-key.gpg
示例:
sudo rpm --import /tmp/RPM-GPG-KEY-CentOS-7
2️⃣ 从 URL 导入公钥
sudo rpm --import https://example.com/RPM-GPG-KEY
示例(CentOS 官方):
sudo rpm --import https://www.centos.org/keys/RPM-GPG-KEY-CentOS-7
二、查看已导入的公钥
rpm -qa gpg-pubkey*
查看某个公钥详情:
rpm -qi gpg-pubkey-
例如:
rpm -qi gpg-pubkey-f4a80eb5
三、删除已导入的公钥(可选)
sudo rpm -e gpg-pubkey-
四、YUM / DNF 仓库公钥配置
仓库公钥通常 不需要手动导入,只要在 repo 文件中配置即可。
示例:.repo 文件
[example-repo]
name=Example Repository
baseurl=https://example.com/repo
enabled=1
gpgcheck=1
gpgkey=https://example.com/RPM-GPG-KEY
YUM/DNF 会自动导入 gpgkey。
五、针对 CentOS 版本说明
✅ CentOS 7
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
✅ CentOS 8 / Stream
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
或直接:
sudo dnf install centos-gpg-keys
六、常见错误与解决
❌ 错误:Public key for xxx.rpm is not installed
✅ 解决:
sudo rpm --import
❌ 错误:gpg key retrieval failed
✅ 解决:
- 检查网络
- 手动下载 gpgkey 再导入
七、我可以进一步帮你
你可以告诉我:
- ✅ CentOS 版本(7 / 8 / Stream)
- ✅ 是 仓库报错 还是 安装 RPM 报错
- ✅ 报错信息原文
我可以给你 精确命令 ✅