跳转至

6. 系统订阅与注册配置

本章介绍如何完成 RHEL 9 的订阅注册,使系统能够合法访问 Red Hat 官方软件仓库,获取安全更新与技术支持。完成本章后,第 7 章将在此基础上启用具体的软件仓库。

知识点:Simple Content Access(SCA)

自 2022 年起,Red Hat 为所有订阅账户默认启用了 Simple Content Access(SCA)。SCA 模式下,系统注册完成即可访问账户下所有已授权仓库,无需再执行 attach 命令。本章以 SCA 模式为主线,这也是当前所有 Red Hat 账户的默认行为。


6.1 前提条件

  • RHEL 9 已完成 SSH 安全配置(第 5 章)。
  • 通过 SecureCRT(SSH 端口 2222)以 ops 用户、密钥认证方式登录 192.168.1.100,执行 sudo -i 切换至 root 环境。
  • 网络可正常访问外网(ping -c 3 8.8.8.8 通畅)。
  • 拥有有效的 Red Hat 账户(含有效订阅)。

无企业订阅?

Red Hat Developer Program 注册可获得免费的个人开发者订阅,支持最多 16 台物理或虚拟 RHEL 系统,完全满足学习与实验需求。


6.2 检查当前注册状态

subscription-manager status
输出结果 含义
Overall Status: Current 已注册且有效,无需重新注册
Overall Status: Unknown 未注册,执行注册流程
Overall Status: Invalid 订阅失效,需重新注册或更新

若需清理已有注册记录:

subscription-manager unregister
subscription-manager clean

6.3 注册系统

6.3.1 标准注册(SCA 模式,推荐)

SCA 模式下,一条命令完成注册即完成全部授权流程:

subscription-manager register \
  --username <your-redhat-account> \
  --password <your-password>

注册成功后验证:

subscription-manager status

检查点

SCA 模式下,Overall Status 显示 DisabledCurrent 均为正常状态,表示系统已获得仓库访问授权。Disabled 并非错误,而是 SCA 模式的正常表现(无需 pool 级别管理)。


6.3.2 Activation Key 注册(推荐企业 / 批量场景)

Red Hat Hybrid Cloud Console 创建 Activation Key 后,可实现无密码的批量注册:

subscription-manager register \
  --org=<organization-id> \
  --activationkey=<activation-key-name>

Activation Key 优势

无需在脚本中暴露账户密码;可预设系统用途(Purpose)与 SLA 等级;适合 Ansible、Kickstart 等自动化部署场景。Org ID 可在 Red Hat Customer Portal → Account 页面找到。


6.3.3 传统 Pool 注册(非 SCA 账户,仅供参考)

若账户未启用 SCA(较旧的企业合同账户),需在注册后手动附加订阅:

# 注册
subscription-manager register \
  --username <your-redhat-account> \
  --password <your-password>

# 查看可用订阅池
subscription-manager list --available

# 附加指定订阅池
subscription-manager attach --pool=<PoolID>

说明

若账户已启用 SCA,执行 attach 命令会提示不需要手动附加,这是正常行为,不影响使用。


6.4 验证注册信息

# 查看订阅状态
subscription-manager status

# 查看系统身份信息(注册后生成的 UUID 等)
subscription-manager identity

6.5 常见问题与排查

问题现象 排查步骤
Invalid credentials 确认账户密码正确;确认账户下有有效订阅
注册超时 检查网络:ping subscription.rhsm.redhat.com;检查代理配置 /etc/rhsm/rhsm.conf
This system is not yet registered 重新执行 subscription-manager register
# 测试与 Red Hat 订阅服务的网络连通性
ping -c 3 subscription.rhsm.redhat.com

# 手动刷新订阅信息
subscription-manager refresh

# 查看订阅管理日志
tail -50 /var/log/rhsm/rhsm.log

6.6 实践任务

  1. 登录 linuxdc(SecureCRT 端口 2222,ops 用户,密钥认证,sudo -i 切换 root)。
  2. 检查当前注册状态:subscription-manager status
  3. 使用账户名/密码方式或 Activation Key 方式完成注册。
  4. 验证注册成功:

    subscription-manager status
    subscription-manager identity
    
  5. 在 VMware 中创建快照 RHEL9-Subscribed


6.7 自测问题

Q1:什么是 SCA,它解决了什么问题?

SCA(Simple Content Access)是 Red Hat 的现代订阅模型。注册后系统自动获得账户下所有已授权内容的访问权,无需逐一附加订阅池(Pool)。它大幅简化了注册流程,消除了多系统环境下手动管理订阅池的复杂性。

Q2:企业批量部署 100 台 RHEL 服务器时,最佳注册方式是什么?

使用 Activation Key 结合 KickstartAnsiblecommunity.general.redhat_subscription 模块)实现全自动注册,无需在任何脚本中硬编码账户密码,安全且可复现。

Q3:注册成功后 dnf repolist 仍为空,原因是什么?

注册(register)只完成身份认证,获得访问授权。具体仓库还需通过 subscription-manager repos --enable 手动启用。第 7 章将完成仓库启用操作。


6.8 章节总结

本章完成了 RHEL 9 的订阅注册。以 SCA 为现代默认模式,注册流程大幅简化;同时介绍了企业批量场景推荐的 Activation Key 方式。注册是获取官方仓库访问权的前提,第 7 章将在此基础上启用具体的软件仓库。