5.25. 导入自定义 GPG 密钥

当客户端消耗签名的自定义内容时,请确保客户端被配置为使用适当的 GPG 密钥验证软件包安装。这有助于确保只能安装来自授权源的软件包。

红帽内容已配置了适当的 GPG 密钥,因此不支持红帽存储库的 GPG 密钥管理。

要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程

先决条件

确保您有一个 GPG 密钥的副本,用于为要在 Satellite 中使用和管理的 RPM 内容签名。大多数 RPM 分发提供程序在其网站上提供其 GPG 密钥。您还可以从 RPM 手动提取它:

  1. 将版本特定存储库软件包的副本下载到您的本地机器中:

    $ wget http://www.example.com/9.5/example-9.5-2.noarch.rpm
  2. 提取 RPM 文件而不安装该文件:

    $ rpm2cpio example-9.5-2.noarch.rpm | cpio -idmv

GPG 密钥位于 etc/pki/rpm-gpg/RPM-GPG-KEY-EXAMPLE-95

流程

  1. 在 Satellite Web UI 中,进入到 Content > Content Credentials,并在窗口右上角点 Create Content Credential
  2. 输入存储库的名称,然后从 Type 列表中选择 GPG Key
  3. 将 GPG 密钥粘贴到 Content Credential Contents 字段中,或者点 Browse 并选择您要导入的 GPG 密钥文件。

    如果您的自定义存储库包含由多个 GPG 密钥签名的内容,您必须在 Content Credential Contents 字段中输入每个密钥之间的新行,例如:

    -----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-----
  4. 点击 Save

CLI 过程

  1. 将 GPG 密钥复制到 Satellite 服务器中:

    $ scp ~/etc/pki/rpm-gpg/RPM-GPG-KEY-EXAMPLE-95 root@satellite.example.com:~/.
  2. 将 GPG 密钥上传到 Satellite:

    # hammer content-credentials create \
    --content-type gpg_key \
    --name "My_GPG_Key" \
    --organization "My_Organization" \
    --path ~/RPM-GPG-KEY-EXAMPLE-95