4.23. 导入自定义 GPG 密钥
当客户端使用签名的自定义内容时,请确保客户端被配置为使用适当的 GPG 密钥验证软件包安装。这有助于确保只安装来自授权源的软件包。
红帽内容已配置了适当的 GPG 密钥,因此不支持红帽存储库的 GPG 密钥管理。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
先决条件
请确定您有一个 GPG 密钥的副本,用于签署要在 Satellite 中使用和管理的 RPM 内容。大多数 RPM 分发供应商在其网站上提供其 GPG 密钥。您还可以从 RPM 手动提取它:
将版本特定仓库软件包的副本下载到您的客户端系统中:
$ wget http://www.example.com/9.5/example-9.5-2.noarch.rpm
解压 RPM 文件而不安装该文件:
$ rpm2cpio example-9.5-2.noarch.rpm | cpio -idmv
GPG 密钥相对于 etc/pki/rpm-gpg/RPM-GPG-KEY-EXAMPLE-95
的提取。
流程
- 在 Satellite Web UI 中,导航到 Content > Content Credentials,然后在窗口右上角点击 Create Content Credential。
- 输入存储库的名称,然后从 Type 列表中选择 GPG Key。
将 GPG 密钥粘贴到 Content Credential Contents 字段中,或者点击 Browse 并选择您要导入的 GPG 密钥文件。
如果您的自定义仓库包含多个 GPG 密钥签名的内容,则必须在 Content Credential Contents 字段中使用每个密钥之间的新行输入所有所需的 GPG 密钥,例如:
-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBFy/HE4BEADttv2TCPzVrre+aJ9f5QsR6oWZMm7N5Lwxjm5x5zA9BLiPPGFN 4aTUR/g+K1S0aqCU+ZS3Rnxb+6fnBxD+COH9kMqXHi3M5UNzbp5WhCdUpISXjjpU XIFFWBPuBfyr/FKRknFH15P+9kLZLxCpVZZLsweLWCuw+JKCMmnA =F6VG -----END PGP PUBLIC KEY BLOCK----- -----BEGIN PGP PUBLIC KEY BLOCK----- mQINBFw467UBEACmREzDeK/kuScCmfJfHJa0Wgh/2fbJLLt3KSvsgDhORIptf+PP OTFDlKuLkJx99ZYG5xMnBG47C7ByoMec1j94YeXczuBbynOyyPlvduma/zf8oB9e Wl5GnzcLGAnUSRamfqGUWcyMMinHHIKIc1X1P4I= =WPpI -----END PGP PUBLIC KEY BLOCK-----
- 点击 Save。
CLI 过程
将 GPG 密钥复制到 Satellite 服务器中:
$ scp ~/etc/pki/rpm-gpg/RPM-GPG-KEY-EXAMPLE-95 root@satellite.example.com:~/.
将 GPG 密钥上传到 Satellite:
# hammer content-credentials create \ --content-type gpg_key \ --name "My_GPG_Key" \ --organization "My_Organization" \ --path ~/RPM-GPG-KEY-EXAMPLE-95