C.4. 注册主机
您可以使用注册模板注册主机,并在注册过程中设置各种集成功能和主机工具。
先决条件
-
您的用户帐户分配了
create_hosts
权限的角色。 - 您必须在要注册的主机上具有 root 权限。
- Satellite 服务器、任何胶囊服务器和所有主机都必须与相同的 NTP 服务器同步,并且启用和运行时间同步工具。
- 主机必须使用激活码。如需更多信息,请参阅管理内容中的管理激活码。
-
可选:如果要将主机注册到 Red Hat Insights,您必须同步
rhel-8-for-x86_64-baseos-rpms
和rhel-8-for-x86_64-appstream-rpms
存储库,并在您使用的激活码中提供它们。这是在主机上安装insights-client
软件包所必需的。 - 用于主机的操作系统的 Red Hat Satellite Client 6 存储库在 Satellite 服务器上同步,并在您使用的激活码中启用。如需更多信息,请参阅 管理内容 中的 导入内容。远程执行拉取客户端、Puppet 代理、跟踪器和其他工具需要此存储库。
- 如果要使用 Capsule 服务器而不是 Satellite 服务器,请确保已相应地配置了 Capsule 服务器。如需更多信息,请参阅 安装 Capsule 服务器 中的 为主机注册配置 Capsule 和置备。
- 如果您的 Satellite 服务器或 Capsule 服务器位于 HTTP 代理后面,请将主机上的订阅管理器配置为使用 HTTP 代理进行连接。如需更多信息,请参阅红帽知识库中的 如何通过防火墙或代理访问 Red Hat Subscription Manager (RHSM)。
流程
- 在 Satellite Web UI 中,进入到 Hosts > Register Host。
- 可选:选择不同的 机构。
- 可选: 选择不同的位置。
- 可选:在 Host Group 列表中选择要关联主机的主机组。从 Host group 继承值的字段:操作系统、激活码 和 生命周期环境。
- 可选: 在 Operating system 列表中,选择您要注册的主机的操作系统。
可选:在 Capsule 列表中,选择 Capsule 来注册主机。
注意负载平衡器后面的胶囊优先于 Satellite Web UI 中选择的胶囊作为主机的内容源。
- 在 Activation Keys 字段中,输入一个或多个要分配给主机的激活码。
可选:如果要使第一个调用不安全,请选择 Insecure 选项。在此第一次调用期间,主机从 Satellite 下载 CA 文件。主机将使用此 CA 文件与以后进行安全的所有调用连接到 Satellite。
红帽建议您避免不安全的调用。
如果攻击者位于 Satellite 和主机之间的网络中,从第一个不安全的调用中获取 CA 文件,攻击者可以从注册的主机和 JSON Web 令牌(JWT)访问 API 调用的内容。因此,如果您选择在注册过程中部署 SSH 密钥,攻击者可以使用 SSH 密钥访问主机。
相反,您可以在注册主机前手动复制并安装 CA 文件。
要做到这一点,找到 Satellite 在哪里通过进入到 Administer > Settings > Authentication 并查找 SSL CA file 设置的值来保存 CA 文件。
将 CA 文件复制到主机上的
/etc/pki/ca-trust/source/anchors/
目录中,并输入以下命令:# update-ca-trust enable # update-ca-trust
然后,使用安全
curl
命令注册主机,例如:# curl -sS https://satellite.example.com/register ...
以下是带有
--insecure
选项的curl
命令示例:# curl -sS --insecure https://satellite.example.com/register ...
- 选择 Advanced 选项卡。
可选:在 Setup REX 列表中,选择是否要将 Satellite SSH 密钥部署到主机。
如果设置为
Yes
,则将在注册的主机上安装公共 SSH 密钥。继承的值基于host_registration_remote_execution
参数。它可以继承,例如从主机组、操作系统或组织继承。覆盖后,所选值将存储在主机参数级别上。可选:在 Setup Insights 列表中,选择是否要安装
insights-client
并将主机注册到 Insights。Insights 工具仅适用于 Red Hat Enterprise Linux。它对其他操作系统没有影响。
您必须在注册的机器上启用以下软件仓库:
-
Red Hat Enterprise Linux 6:
rhel-6-server-rpms
-
Red Hat Enterprise Linux 7:
rhel-7-server-rpms
Red Hat Enterprise Linux 8:
rhel-8-for-x86_64-appstream-rpms
insights-client
软件包默认安装在 Red Hat Enterprise Linux 8 上,除非使用 "Minimal Install" 选项部署 Red Hat Enterprise Linux 8 的环境中。
-
Red Hat Enterprise Linux 6:
-
可选:在 Install packages 字段中,列出您要在注册时在主机上安装的软件包(与空格分开)。这可以通过
host_packages
参数设置。 -
可选: 选择 Update packages 选项,在注册时更新主机上的所有软件包。这可以通过
host_update_packages
参数设置。 -
可选:在 Repository 字段中,输入要在执行注册前添加的存储库。例如,使
subscription-manager
软件包可供注册使用。对于红帽系列分发,请输入存储库的 URL,例如http://rpm.example.com/
。 - 可选:在 Repository GPG key URL 字段中,指定验证 GPG 签名软件包签名的公钥。它需要在 ASCII 表单中使用 GPG 公钥标头指定。
可选:在 Token 生命周期(小时) 字段中,更改 Satellite 用于身份验证的 JSON Web Token (JWT)的有效性持续时间。此令牌的持续时间定义生成的
curl
命令的工作方式。您可以将持续时间设置为 0 – 999 999 小时,或没有限制。请注意,Satellite 应用生成
curl
命令授权的用户的权限。如果用户丢失或获得额外权限,则 JWT 的权限也会改变。因此,不要在令牌期间删除、阻止或更改用户的权限。JWT 的范围仅限于注册端点,不能在任何其他地方使用。
- 可选:在 Remote Execution Interface 字段中输入主机必须用于 SSH 连接的网络接口的标识符。如果将此字段留空,Satellite 将使用默认网络接口。
可选:从 REX pull 模式 列表中,选择是否要部署 Satellite 远程执行 pull 客户端。
如果设置为
Yes
,则将在注册的主机上安装远程执行 pull 客户端。继承的值基于host_registration_remote_execution_pull
参数。它可以继承,例如从主机组、操作系统或组织继承。覆盖后,所选值存储在主机参数级别上。注册的主机必须有权访问 Red Hat Satellite Client 6 存储库。
有关 pull 模式的更多信息 ,请参阅管理主机中的 远程执行传输模式。
- 可选:选择 Lifecycle 环境。
- 可选:如果要忽略订阅管理器 错误,请选择 Ignore 错误。
-
可选:如果要在注册前删除任何
katello-ca-consumer
rpms,选择 Force 选项,并运行带有--force
参数的subscription-manager
。 - 点 Generate。
-
复制生成的
curl
命令。 -
在您要注册的主机上,以
root
用户身份运行curl
命令。