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