2.6. 使用 SSL 证书配置胶囊服务器
红帽卫星使用 SSL 证书实现卫星服务器、外部胶囊服务器和所有主机之间的加密通信。根据机构的要求,您必须使用默认或自定义证书配置胶囊服务器。
- 如果您使用默认 SSL 证书,还必须使用不同的默认 SSL 证书配置每个外部胶囊服务器。更多信息请参阅 第 2.6.1 节 “使用默认 SSL 证书配置胶囊服务器”。
- 如果您使用自定义 SSL 证书,还必须配置每个带有不同自定义 SSL 证书的外部胶囊服务器。更多信息请参阅 第 2.6.2 节 “使用自定义 SSL 证书配置胶囊服务器”。
2.6.1. 使用默认 SSL 证书配置胶囊服务器 复制链接链接已复制到粘贴板!
使用这个部分,使用由卫星服务器默认证书颁发机构(CA)签名的 SSL 证书配置胶囊服务器。
先决条件
- 胶囊服务器注册到卫星服务器。如需更多信息,请参阅 注册到卫星服务器。
- 已安装胶囊服务器软件包。如需更多信息,请参阅安装胶囊服务器软件包。
流程
在卫星服务器上,若要存储您的胶囊服务器的所有源证书文件,请创建一个只能供 root 用户访问的目录,如
/
:root
/capsule_certmkdir /root/capsule_cert
# mkdir /root/capsule_cert
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 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
# capsule-certs-generate \ --foreman-proxy-fqdn capsule.example.com \ --certs-tar /root/capsule_cert/capsule.example.com-certs.tar
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 保留
satellite-installer
命令的副本,这是 Capsule-certs-generate
命令的副本,以将证书部署到您的胶囊服务器。capsule-certs-generate
的输出示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在卫星服务器上,将证书存档文件复制到您的胶囊服务器:
scp /root/capsule_cert/capsule.example.com-certs.tar \ root@capsule.example.com:/root/capsule.example.com-certs.tar
# scp /root/capsule_cert/capsule.example.com-certs.tar \ root@capsule.example.com:/root/capsule.example.com-certs.tar
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Capsule Server 上,要部署证书,输入
capsule-certs-generate
命令返回的satellite-installer
命令。当 Satellite 的网络连接或端口还没有打开时,您可以将
--foreman-proxy-register-in-foreman
选项设置为false
,以防止 Capsule 尝试连接到 Satellite 并报告错误。当网络配置网络和防火墙时,再次运行安装程序,并将此选项设为true
。重要不要在部署证书后删除证书归档文件。例如,在升级胶囊服务器时需要它。
2.6.2. 使用自定义 SSL 证书配置胶囊服务器 复制链接链接已复制到粘贴板!
如果将卫星服务器配置为使用自定义 SSL 证书,还必须使用不同的自定义 SSL 证书配置每个外部胶囊服务器。
要使用自定义证书配置您的胶囊服务器,请在每个胶囊服务器上完成以下步骤:
2.6.2.1. 为 Capsule 服务器创建自定义 SSL 证书 复制链接链接已复制到粘贴板!
在受管主机上,为您的胶囊服务器创建一个自定义证书。如果您已经为 Capsule 服务器有自定义 SSL 证书,请跳过这个过程。
流程
要存储所有源证书文件,请创建一个只能被
root
用户访问的目录:mkdir /root/capsule_cert
# mkdir /root/capsule_cert
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建为证书签名请求(CSR)签名的私钥。
请注意,私钥必须未加密。如果您使用密码保护的私钥,请删除私钥密码。
如果您已有此胶囊服务器的私钥,请跳过这一步。
openssl genrsa -out /root/capsule_cert/capsule_cert_key.pem 4096
# openssl genrsa -out /root/capsule_cert/capsule_cert_key.pem 4096
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为 CSR 创建
/root/capsule_cert/openssl.cnf
配置文件并包含以下内容:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 生成 CSR:
openssl req -new \ -key /root/capsule_cert/capsule_cert_key.pem \ -config /root/capsule_cert/openssl.cnf \ -out /root/capsule_cert/capsule_cert_csr.pem
# 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 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将证书签名请求发送到证书颁发机构(CA)。同一 CA 必须为 Satellite 服务器和 Capsule 服务器签名证书。
提交请求时,指定证书的寿命。发送证书请求的方法会有所不同,因此请查阅 CA 查看首选方法。为了响应请求,您可以在单独的文件中接收 CA 捆绑包和签名证书。
2.6.2.2. 将自定义 SSL 证书部署到胶囊服务器 复制链接链接已复制到粘贴板!
使用这个步骤使用由证书颁发机构签名的自定义 SSL 证书配置您的胶囊服务器。satellite-installer
命令返回了 Capsule -certs-generate
命令,对每个胶囊服务器都是唯一的。不要在多个胶囊服务器上使用相同的命令。
先决条件
- 卫星服务器配置了自定义证书。有关更多信息,请参阅在连接的网络环境中安装卫星服务器 时使用自定义 SSL 证书 配置卫星服务器。
- 胶囊服务器注册到卫星服务器。如需更多信息,请参阅 注册到卫星服务器。
- 已安装胶囊服务器软件包。如需更多信息,请参阅安装胶囊服务器软件包。
流程
在卫星服务器上,验证自定义 SSL 证书输入文件:
katello-certs-check \ -t capsule -c /root/capsule_cert/capsule_cert.pem \ -k /root/capsule_cert/capsule_cert_key.pem \ -b /root/capsule_cert/ca_cert_bundle.pem
# 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 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您在
/root/capsule_cert/openssl.cnf
配置文件中为证书的 Common NameCN =
设置通配符值,您必须将-t Capsule 选项添加到
katello-certs-check
命令中。如果命令成功,它将返回两个
capsule-certs-generate
命令,其中一个命令必须为您的胶囊服务器生成证书存档文件。katello-certs-check
输出示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在卫星服务器上,在
katello-certs-check
命令的输出中,根据您的要求,输入 Capsule-certs-generate
命令,为新的或现有的 Capsule 生成证书。在这个命令中,将
$CAPSULE
更改为您的胶囊服务器的 FQDN。保留
satellite-installer
命令的副本,这是 Capsule-certs-generate
命令的副本,以将证书部署到您的胶囊服务器。capsule-certs-generate
的输出示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在卫星服务器上,将证书存档文件复制到您的胶囊服务器:
scp /root/capsule_cert/capsule.example.com-certs.tar \ root@capsule.example.com:/root/capsule.example.com-certs.tar
# scp /root/capsule_cert/capsule.example.com-certs.tar \ root@capsule.example.com:/root/capsule.example.com-certs.tar
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Capsule Server 上,要部署证书,输入
capsule-certs-generate
命令返回的satellite-installer
命令。当 Satellite 的网络连接或端口还没有打开时,您可以将
--foreman-proxy-register-in-foreman
选项设置为false
,以防止 Capsule 尝试连接到 Satellite 并报告错误。当网络配置网络和防火墙时,再次运行安装程序,并将此选项设为true
。重要不要在部署证书后删除证书归档文件。例如,在升级胶囊服务器时需要它。
2.6.2.3. 将自定义 SSL 证书部署到主机 复制链接链接已复制到粘贴板!
将 Capsule Server 配置为使用自定义 SSL 证书后,还必须在注册到此胶囊服务器的每个主机上安装 katello-ca-consumer
软件包。
流程
在每个主机上安装
katello-ca-consumer
软件包:dnf install http://capsule.example.com/pub/katello-ca-consumer-latest.noarch.rpm
# dnf install http://capsule.example.com/pub/katello-ca-consumer-latest.noarch.rpm
Copy to Clipboard Copied! Toggle word wrap Toggle overflow