2.7. 在卫星 Web UI 中将正确的组织和位置分配给胶囊服务器


安装胶囊服务器软件包后,如果有多个组织或位置,您必须将正确的组织和位置分配给胶囊,以便在卫星 Web UI 中可见胶囊。

流程

  1. 登录卫星 Web UI。
  2. 从屏幕左上角的 Organization 列表中,选择 Any Organization
  3. 从屏幕左上角的 Location 列表中,选择 Any Location
  4. 进入 Hosts > All Hosts 并选择 Capsule Server。
  5. Select Actions 列表中,选择 Assign Organization
  6. Organization 列表中,选择要分配此胶囊的组织。
  7. 单击 Mismatch 上的 Fix Organization
  8. Submit
  9. 选择胶囊服务器。在 Select Actions 列表中,选择 Assign Location
  10. Location 列表中,选择要分配此胶囊的位置。
  11. 单击 Mismatch 上的 Fix Location
  12. Submit
  13. 导航到 Administer > Organizations,再点击已分配给胶囊的组织。
  14. 单击 Capsules 选项卡,并确保在 Selected items 列表下列出胶囊服务器,然后单击 Submit
  15. 导航到 Administer > Locations,再点击已分配给胶囊的位置。
  16. 单击 Capsules 选项卡,并确保在 Selected items 列表下列出胶囊服务器,然后单击 Submit

验证

另外,您可以验证胶囊服务器是否在卫星 Web UI 中正确列出。

  1. Organization 列表中选择机构。
  2. Location 列表中选择位置。
  3. 进入 Hosts > All Hosts
  4. 导航到 Infrastructure > Capsules

红帽卫星使用 SSL 证书实现卫星服务器、外部胶囊服务器和所有主机之间的加密通信。根据您的机构的要求,您必须为胶囊服务器配置默认或自定义证书。

2.7.1. 使用默认 SSL 证书配置胶囊服务器

使用本节,为胶囊服务器配置由卫星服务器默认证书颁发机构(CA)签名的 SSL 证书。

先决条件

流程

  1. 在卫星服务器上,若要为您的胶囊服务器存储所有源证书文件,创建一个只能被 root 用户访问的目录,如 / root /capsule_cert

    # mkdir /root/capsule_cert
  2. 在 Satellite 服务器上,为您的 Capsule 服务器生成 /root/capsule_cert/prompt.example.com-certs.tar 证书存档:

    # capsule-certs-generate \
    --foreman-proxy-fqdn capsule.example.com \
    --certs-tar /root/capsule_cert/capsule.example.com-certs.tar

    保留 satellite-installer 命令的副本,供 capsule-certs-generate 命令返回,以将证书部署到您的胶囊服务器。

    capsule-certs-generate输出示例

    output omitted
    satellite-installer --scenario capsule \
    --certs-tar-file "/root/capsule.example.com-certs.tar" \
    --foreman-proxy-register-in-foreman "true" \
    --foreman-proxy-foreman-base-url "https://satellite.example.com" \
    --foreman-proxy-trusted-hosts "satellite.example.com" \
    --foreman-proxy-trusted-hosts "capsule.example.com" \
    --foreman-proxy-oauth-consumer-key "s97QxvUAgFNAQZNGg4F9zLq2biDsxM7f" \
    --foreman-proxy-oauth-consumer-secret "6bpzAdMpRAfYaVZtaepYetomgBVQ6ehY" \
    --puppet-server-foreman-url "https://satellite.example.com"

  3. 在卫星服务器上,将证书归档文件复制到您的胶囊服务器中:

    # scp /root/capsule_cert/capsule.example.com-certs.tar \
    root@capsule.example.com:/root/capsule.example.com-certs.tar
  4. 在胶囊服务器上,要部署证书,请输入 capsule-certs-generate 命令返回的 satellite-installer 命令。

    如果尚未打开到 Satellite 的网络连接或端口,您可以将 --foreman-proxy-register-in-foreman 选项设置为 false,以防止胶囊尝试连接到 Satellite 并报告错误。正确配置网络和防火墙时,通过此选项设置来再次运行安装程序。

    重要

    部署证书后,请勿删除证书存档文件。例如,在升级胶囊服务器时,需要它。

2.7.2. 使用自定义 SSL 证书配置胶囊服务器

如果将卫星服务器配置为使用自定义 SSL 证书,还必须使用不同的自定义 SSL 证书配置每个外部胶囊服务器。

要使用自定义证书配置您的胶囊服务器,请在每个胶囊服务器上完成以下步骤:

2.7.2.1. 为胶囊服务器创建自定义 SSL 证书

在卫星服务器上,为您的胶囊服务器创建自定义证书。如果您已经有适用于胶囊服务器的自定义 SSL 证书,请跳过这个过程。

使用自定义证书配置胶囊服务器时,请注意以下注意事项:

  • 您必须将 Privacy-Enhanced Mail (PEM)编码用于 SSL 证书。
  • 您不能对卫星服务器和胶囊服务器使用相同的证书。
  • 相同的证书颁发机构必须签署卫星服务器和胶囊服务器的证书。

流程

  1. 要存储所有源证书文件,请创建一个只可由 root 用户访问的目录。

    # mkdir /root/capsule_cert
  2. 创建为证书签名请求(CSR)签名的私钥。

    请注意,私钥必须未加密。如果您使用受密码保护的私钥,请删除私钥密码。

    如果您已经拥有此胶囊服务器的私钥,请跳过这一步。

    # openssl genrsa -out /root/capsule_cert/capsule_cert_key.pem 4096
  3. 为证书签名请求(CSR)创建 /root/capsule_cert/openssl.cnf 配置文件,并包含以下内容:

    [ req ]
    req_extensions = v3_req
    distinguished_name = req_distinguished_name
    x509_extensions = usr_cert
    prompt = no
    
    [ req_distinguished_name ] 1
    C  = Country Name (2 letter code)
    ST = State or Province Name (full name)
    L  = Locality Name (eg, city)
    O  = Organization Name (eg, company)
    OU = The division of your organization handling the certificate
    CN = capsule.example.com 2
    
    [ v3_req ]
    basicConstraints = CA:FALSE
    keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
    extendedKeyUsage = serverAuth, clientAuth, codeSigning, emailProtection
    subjectAltName = @alt_names
    
    [ usr_cert ]
    basicConstraints=CA:FALSE
    nsCertType = client, server, email
    keyUsage = nonRepudiation, digitalSignature, keyEncipherment
    extendedKeyUsage = serverAuth, clientAuth, codeSigning, emailProtection
    nsComment = "OpenSSL Generated Certificate"
    subjectKeyIdentifier=hash
    authorityKeyIdentifier=keyid,issuer
    
    [ alt_names ]
    DNS.1 = capsule.example.com 3
    1
    [ req_distinguished_name ] 部分中,输入有关您的机构的信息。
    2
    将证书的通用名称 CN 设置为与胶囊服务器的完全限定域名(FQDN)或通配符值 * 匹配。若要确认 FQDN,请在该胶囊服务器上输入 hostname -f 命令。这需要确保 katello-certs-check 命令正确验证证书。如果设置了通配符值,在使用 katello-certs-check 命令时添加 -t capsule 选项。
    3
    将 Subject Alternative Name (SAN) DNS.1 设置为与您的服务器的完全限定域名(FQDN)匹配。
  4. 生成证书签名请求(CSR):

    # openssl req -new \
    -key /root/capsule_cert/capsule_cert_key.pem \ 1
    -config /root/capsule_cert/openssl.cnf \ 2
    -out /root/capsule_cert/capsule_cert_csr.pem 3
    1
    私钥的路径。
    2
    到配置文件的路径。
    3
    要生成的 CSR 的路径。
  5. 将证书签名请求发送到证书颁发机构。相同的证书颁发机构必须签署卫星服务器和胶囊服务器的证书。

    提交请求时,指定证书的 lifespan。发送证书请求的方法会有所不同,因此请查阅证书颁发机构来获得首选方法。为响应请求,预计可在单独的文件中接收证书颁发机构捆绑包和签名证书。

2.7.2.2. 将自定义 SSL 证书部署到胶囊服务器

使用此流程为胶囊服务器配置由证书颁发机构签名的自定义 SSL 证书。satellite-installer 命令( capsule-certs-generate 命令返回)是每个胶囊服务器是唯一的。不要在多个胶囊服务器上使用同样的命令。

先决条件

流程

  1. 在卫星服务器上,验证自定义 SSL 证书输入文件:

    # katello-certs-check \
    -t capsule -c /root/capsule_cert/capsule_cert.pem \      1
    -k /root/capsule_cert/capsule_cert_key.pem \  2
    -b /root/capsule_cert/ca_cert_bundle.pem      3
    1
    证书颁发机构签名的胶囊服务器证书文件的路径。
    2
    用于为胶囊服务器证书签名的私钥的路径。
    3
    证书颁发机构捆绑包的路径。

    如果您在 /root/capsule_cert/openssl.cnf 配置文件中为证书的通用名称 CN = 设置了通配符值 *,您必须将 -t capsule 选项添加到 katello-certs-check 命令中。

    如果命令成功,它会返回两个 capsule-certs-generate 命令,其中一个命令必须用来为您的胶囊服务器生成证书存档文件。

    要在 new-capsule.example.com 中使用证书,请运行以下命令:

    capsule-certs-generate --foreman-proxy-fqdn "$CAPSULE" \
        --certs-tar  "~/$CAPSULE-certs.tar" \
        --server-cert "/root/capsule_cert/capsule_cert.pem" \
        --server-key "/root/capsule_cert/capsule_cert_key.pem" \
        --server-ca-cert "/root/capsule_cert/ca_cert_bundle.pem" \

    要使用 existing-capsule.example.com 内的证书,请运行以下命令:

      capsule-certs-generate --foreman-proxy-fqdn "$CAPSULE" \
        --certs-tar "~/$CAPSULE-certs.tar" \
        --server-cert "/root/capsule_cert/capsule_cert.pem" \
        --server-key "/root/capsule_cert/capsule_cert_key.pem" \
        --server-ca-cert "/root/capsule_cert/ca_cert_bundle.pem" \
        --certs-update-server

  2. 根据您的要求,在卫星服务器中输入为新的或现有 胶囊生成证书的 Capsule-certs-generate 命令。在某些情况下,katello-certs-check 命令的输出可能并不准确。因此,您必须遵循上述步骤,而不是命令输出。

    在这个命令中,将 $CAPSULE 更改为您的胶囊服务器的 FQDN。

  3. 保留 satellite-installer 命令的副本,供 capsule-certs-generate 命令返回,以将证书部署到您的胶囊服务器。

    capsule-certs-generate输出示例

    output omitted
    satellite-installer --scenario capsule \
    --certs-tar-file "/root/capsule.example.com-certs.tar" \
    --foreman-proxy-register-in-foreman "true" \
    --foreman-proxy-foreman-base-url "https://satellite.example.com" \
    --foreman-proxy-trusted-hosts "satellite.example.com" \
    --foreman-proxy-trusted-hosts "capsule.example.com" \
    --foreman-proxy-oauth-consumer-key "s97QxvUAgFNAQZNGg4F9zLq2biDsxM7f" \
    --foreman-proxy-oauth-consumer-secret "6bpzAdMpRAfYaVZtaepYetomgBVQ6ehY" \
    --puppet-server-foreman-url "https://satellite.example.com"

  4. 在卫星服务器上,将证书归档文件复制到您的胶囊服务器中:

    # scp /root/capsule_cert/capsule.example.com-certs.tar \
    root@capsule.example.com:/root/capsule.example.com-certs.tar
  5. 在胶囊服务器上,要部署证书,请输入 capsule-certs-generate 命令返回的 satellite-installer 命令。

    如果尚未打开到 Satellite 的网络连接或端口,您可以将 --foreman-proxy-register-in-foreman 选项设置为 false,以防止胶囊尝试连接到 Satellite 并报告错误。正确配置网络和防火墙时,通过此选项设置来再次运行安装程序。

    重要

    部署证书后,请勿删除证书存档文件。例如,在升级胶囊服务器时,需要它。

2.7.2.3. 将自定义 SSL 证书部署到主机

将胶囊服务器配置为使用自定义 SSL 证书后,您还必须在注册到此胶囊服务器的每个主机上安装 katello-ca-consumer 软件包。

流程

  • 在每个主机上,安装 katello-ca-consumer 软件包:

    # yum localinstall \
    http://capsule.example.com/pub/katello-ca-consumer-latest.noarch.rpm
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.