在 RHEL web 控制台中管理系统
大约 33 分钟
在 RHEL web 控制台中管理系统
来源:官方文档 原始多页入口:在 RHEL web 控制台中管理系统 内容规模:约 25,548 字符,43 个章节标题,78 个命令/代码块,10 条提示框
阅读提要
- 副标题:具有基于 Web 的图形界面的服务器管理
- 摘要:RHEL web 控制台是一个基于 Web 的图形界面,它基于上游 Cockpit 项目。使用它来执行系统管理任务,如检查和控制 systemd 服务、管理存储、配置网络、分析网络问题以及检查日志。
- 主要章节:具有基于 Web 的图形界面的服务器管理;对红帽文档提供反馈;第 1 章 RHEL web 控制台入门;第 2 章 使用 RHEL 系统角色安装和配置 web 控制台;第 3 章 安装 Web 控制台附加组件,并创建自定义页面;第 4 章 在 web 控制台中管理订阅;第 5 章 在 web 控制台中管理远程系统;第 6 章 在 IdM 域中为 RHEL web 控制台配置 SSO 身份验证;第 7 章 使用 Web 控制台为集中管理的用户配置智能卡验证;第 8 章 Web 控制台中的 Satellite 主机管理和监控
- 推荐阅读顺序:先看“阅读提要”和目录,再按章节查看“关键点/命令/注意”;需要原文细节时点击来源链接。
章节笔记
概览
- 该章节主要为下一级主题的入口。
具有基于 Web 的图形界面的服务器管理
- 要点:摘要
对红帽文档提供反馈
- 要点:我们致力于为您提供高质量的文档,您的反馈将对我们有很大帮助。为帮助我们改进,您可以通过 Red Hat Jira 跟踪系统提交建议或报告错误。
- 要点:流程
- 列表:登录到 Jira 网站。 如果您还没有帐户,请创建一个。
- 列表:单击顶部导航栏中的 Create。
- 列表:在 Summary 字段中输入描述性标题。
- 列表:在 Description 字段中输入您对改进的建议。包括文档相关部分的链接。
- 列表:点窗口底部的 Create。
第 1 章 RHEL web 控制台入门
- 要点:使用 RHEL web 控制台安装、配置和监控系统。此图形界面简化了常见的管理任务,如管理日志、存储和远程主机。
1.1. 什么是 RHEL web 控制台
- 要点:RHEL web 控制台是一个基于 web 的图形界面,用于管理和监控网络环境中的本地系统和 Linux 服务器。
- 要点:在 RHEL web 控制台中,您可以执行广泛的管理任务,包括:
- 列表:管理服务
- 列表:管理用户帐户
- 列表:管理及监控系统服务
- 列表:配置网络接口和防火墙
- 列表:检查系统日志
- 列表:管理虚拟机
1.2. 安装并启用 Web 控制台
- 要点:要访问 RHEL web 控制台,请首先启用 cockpit.socket 服务。RHEL 10 包括许多安装变体中默认安装的 web 控制台。如果您的系统每以包括,请在启用 cockpit.socket 服务前安装 cockpit 软件包。
- 要点:流程
- 列表:如果在安装变体中没有默认安装 Web 控制台,请手动安装 cockpit 软件包: # dnf install cockpit
- 列表:启用并启动 cockpit.socket 服务,该服务运行一个 Web 服务器: # systemctl enable --now cockpit.socket
- 列表:如果您使用自定义防火墙配置集,请将 cockpit 服务添加到 firewalld 中,以在防火墙中打开端口 9090: # firewall-cmd --add-service=cockpit --permanent # firewall-cmd --reload
- 列表:要验证之前的安装和配置,请打开 Web 控制台。
- 命令/配置摘录:
# dnf install cockpit
# systemctl enable --now cockpit.socket1.3. 登录到 Web 控制台
- 要点:当 cockpit.socket 服务正在运行并且相应的防火墙端口打开时,您可以在浏览器中第一次登录到 Web 控制台。
- 要点:先决条件
- 列表:使用以下一个浏览器打开 Web 控制台: Mozilla Firefox 52 及更新的版本 Google Chrome 57 及更新的版本 Microsoft Edge 16 及更新的版本
- 列表:Mozilla Firefox 52 及更新的版本
- 列表:Google Chrome 57 及更新的版本
- 列表:Microsoft Edge 16 及更新的版本
- 列表:系统用户帐户凭证 RHEL web 控制台使用位于 /etc/pam.d/cockpit 的特定可插拔验证模块(PAM)堆栈。默认配置允许使用系统上任何本地帐户的用户名和密码登录。
- 列表:防火墙中的端口 9090 打开。
- 命令/配置摘录:
https://localhost:9090- 注意:注意 这在本地计算机上提供了 web 控制台登录。如果要登录到远程系统的 web 控制台,请参阅 从远程机器连接到 web 控制台 部分。
1.4. Web 控制台中的管理访问权限
- 要点:您可以在 RHEL web 控制台中获得管理访问权限来执行特权任务,如管理服务、用户和网络,这需要升级的权限。
- 要点:第一次使用常规用户帐户登录后,Web 控制台以有限的访问权限启动。当您有有限的访问权限时,您可以查看设置,但无法执行需要管理特权的操作,如安装软件包。
- 列表:管理 sudo 访问
- 列表:以 root 用户身份从远程机器连接到 web 控制台
- 注意:重要 为了安全起见,RHEL web 控制台默认不允许 root 帐户登录。不要以 root 身份登录,而是使用管理访问权限。如果您的场景需要以 root 身份登录,请参阅 以 root 用户身份从远程机器连接到 web 控制台。
1.5. 在 web 控制台中禁用基本身份验证
- 要点:禁用 RHEL web 控制台的基本身份验证,以强制使用更强大的身份验证方法,如 Kerberos。您可以在 cockpit.conf 文件中配置此设置,以覆盖默认的安全行为。
- 要点:使用 none 操作来禁用身份验证方案,只允许通过 GSSAPI 和表单进行身份验证。
- 列表:您已安装了 RHEL 10 web 控制台。 具体步骤请参阅安装并启用 Web 控制台。
- 列表:您有 root 权限或使用 sudo 输入管理命令的权限。
- 列表:在您首选的文本编辑器中,在 /etc/cockpit/ 目录中打开或创建 cockpit.conf 文件,例如: # vi cockpit.conf
- 列表:添加以下文本: [basic] action = none
- 列表:保存该文件。
- 列表:重启 Web 控制台以使更改生效。 # systemctl try-restart cockpit
- 命令/配置摘录:
# vi cockpit.conf
[basic] action = none1.6. 从远程机器连接至 web 控制台
- 要点:您可以从任何客户端操作系统以及手机或平板电脑连接到 Web 控制台界面。
- 要点:先决条件
- 列表:带有支持的互联网浏览器的设备,例如: Mozilla Firefox 52 及更新的版本 Google Chrome 57 及更新的版本 Microsoft Edge 16 及更新的版本
- 列表:Mozilla Firefox 52 及更新的版本
- 列表:Google Chrome 57 及更新的版本
- 列表:Microsoft Edge 16 及更新的版本
- 列表:您要使用已安装的并可访问的 web 控制台访问的 RHEL 10 系统。 具体步骤请参阅安装并启用 Web 控制台。
- 列表:打开浏览器。
- 命令/配置摘录:
https://<server.hostname.example.com>:<port-number>
https://example.com:90901.7. 以 root 用户身份从远程机器连接到 web 控制台
- 要点:您可以以 root 用户身份连接到 RHEL web 控制台,以获取对远程主机的完整管理控制。确保对此特权连接使用 SSH 密钥而不是密码。
- 要点:在 RHEL 9.2 或更高版本的新安装中,出于安全原因,RHEL web 控制台默认不允许 root 帐户登录。您可以在 /etc/cockpit/disallowed-users 文件中允许 root 登录。
- 列表:您已安装了 RHEL 10 web 控制台。 具体步骤请参阅安装并启用 Web 控制台。
- 列表:在您首选的文本编辑器中打开 /etc/cockpit/ 目录中的 disallowed-users 文件,例如: # vi /etc/cockpit/disallowed-users
- 列表:编辑文件并删除 root 用户的行: # List of users which are not allowed to login to Cockpit root
- 列表:保存更改并退出编辑器。
- 列表:以 root 用户身份登录到 Web 控制台。 详情请参阅 Web 控制台的日志记录。
- 命令/配置摘录:
# vi /etc/cockpit/disallowed-users
# List of users which are not allowed to login to Cockpit root1.8. 使用一次性密码登录到 web 控制台
- 要点:使用一次性密码(OTP)登录到 RHEL web 控制台来增强安全性。您可以在启用了 OTP 的 IdM 域中使用此双因素验证方法。
- 要点:先决条件
- 列表:您已安装了 RHEL 10 web 控制台。 具体步骤请参阅安装并启用 Web 控制台。
- 列表:带有启用 OTP 配置的身份管理服务器。
- 列表:配置的硬件或软件设备生成 OTP 令牌。
- 列表:在浏览器中打开 RHEL web 控制台: 本地:https://localhost:9090 远程,使用服务器主机名:https://example.com:9090 远程,使用服务器 IP 地址:https://EXAMPLE.SERVER.IP.ADDR:9090 如果您使用自签名证书,浏览器会发出警告。检查证书并接受安全例外以进行登录。 控制台从 /etc/cockpit/ws-certs.d 目录中加载证书,并使用带有 .cert 扩展名的最后一个文件(按字母排序)。要避免接受安全例外的操作,安装由证书颁发机构(CA)签名的证书。
- 列表:本地:https://localhost:9090
- 列表:远程,使用服务器主机名:https://example.com:9090
- 注意:重要 只有在您的系统是启用了 OTP 配置的 Identity Management (IdM)域的一部分时,才可以使用一次性密码登录。
1.9. 在登录页面中添加标题
- 要点:您可以在 RHEL web 控制台登录页面中添加自定义横幅。这有助于在用户登录系统前向用户显示重要的安全警告或法律通知。
- 要点:先决条件
- 列表:您已安装了 RHEL 10 web 控制台。 具体步骤请参阅安装并启用 Web 控制台。
- 列表:您有 root 权限或使用 sudo 输入管理命令的权限。
- 列表:在您首选的文本编辑器中打开 /etc/issue.cockpit 文件: # vi /etc/issue.cockpit
- 列表:将您要显示的内容作为横幅添加到文件中,例如: This is an example banner for the RHEL web console login page. 您不能在文件中包含任何宏,但您可以使用换行符和 ASCII 工件。
- 列表:保存该文件。
- 列表:在您首选的文本编辑器中打开 /etc/cockpit/ 目录中的 cockpit.conf 文件,例如: # vi /etc/cockpit/cockpit.conf
- 命令/配置摘录:
# vi /etc/issue.cockpit
This is an example banner for the RHEL web console login page.1.10. 在 web 控制台中配置自动闲置锁定
- 要点:您可以通过 web 控制台界面启用自动空闲锁定并为您的系统设置空闲超时。这样可确保您的屏幕会在不活跃一段时间后自动锁定,从而防止系统未授权访问。
- 要点:先决条件
- 列表:您已安装了 RHEL 10 web 控制台。 具体步骤请参阅安装并启用 Web 控制台。
- 列表:您有 root 权限或使用 sudo 输入管理命令的权限。
- 列表:在您首选的文本编辑器中打开 /etc/cockpit/ 目录中的 cockpit.conf 文件,例如: # vi /etc/cockpit/cockpit.conf
- 列表:在文件中添加以下文本: [Session] IdleTimeout=<X> 将 <X> 替换为您选择的时间段(以分钟为单位)。
- 列表:保存该文件。
- 列表:重启 Web 控制台以使更改生效。 # systemctl try-restart cockpit
- 命令/配置摘录:
# vi /etc/cockpit/cockpit.conf
[Session] IdleTimeout=<X>1.11. 更改 Web 控制台侦听端口
- 要点:默认情况下,RHEL web 控制台通过 TCP 端口 9090 进行通信。您可以通过覆盖默认套接字设置来更改端口号。在满足特定安全或网络策略时,通常需要此调整。
- 要点:先决条件
- 列表:您已安装了 RHEL 10 web 控制台。 具体步骤请参阅安装并启用 Web 控制台。
- 列表:您有 root 权限或使用 sudo 输入管理命令的权限。
- 列表:firewalld 服务在运行。
- 列表:选择一个未占用的端口,例如 <4488/tcp>,并指示 SELinux 允许 cockpit 服务绑定到该端口: # semanage port -a -t websm_port_t -p tcp <4488> 请注意,一个端口一次只能由一个服务使用,因此尝试使用已占用的端口会出现 ValueError: Port already defined 错误消息。
- 列表:打开新端口,并在防火墙中关闭之前的端口: # firewall-cmd --service cockpit --permanent --add-port=<4488>/tcp # firewall-cmd --service cockpit --permanent --remove-port=9090/tcp
- 列表:为 cockpit.socket 服务创建一个覆盖文件: # systemctl edit cockpit.socket
- 命令/配置摘录:
# semanage port -a -t websm_port_t -p tcp <4488>
# firewall-cmd --service cockpit --permanent --add-port=<4488>/tcp # firewall-cmd --service cockpit --permanent --remove-port=9090/tcp- 注意:重要 在以 # Anything between here 和 # Lines below this 开头的行之间插入之前的代码段。否则,系统会丢弃您的更改。
第 2 章 使用 RHEL 系统角色安装和配置 web 控制台
- 要点:使用 cockpit RHEL 系统角色,您可以在多个 RHEL 系统上自动部署和启用 Web 控制台。
2.1. 使用 cockpit RHEL 系统角色安装 Web 控制台
- 要点:您可以使用 cockpit 系统角色在多个系统上自动安装和启用 RHEL web 控制台。
- 要点:使用 cockpit 系统角色来:
- 列表:安装 RHEL web 控制台。
- 列表:允许 firewalld 和 selinux 系统角色配置系统来打开新端口。
- 列表:将 web 控制台设置为使用 ipa trusted 证书颁发机构的证书,而不使用自签名证书。
- 列表:您已准备好控制节点和受管节点。
- 列表:以可在受管主机上运行 playbook 的用户登录到控制节点。
- 列表:用于连接到受管节点的帐户具有这些节点的 sudo 权限。
- 命令/配置摘录:
--- - name: Manage the RHEL web console hosts: managed-node-01.example.com tasks: - name: Install RHEL web console ansible.builtin.include_role: name: redhat.rhel_system_roles.cockpit vars: cockpit_packages: default cockpit_port: 9090 cockpit_manage_selinux: true cockpit_manage_firewall: true cockpit_certificates: - name: /etc/cockpit/ws-certs.d/01-certificate dns: ['localhost', 'www.example.com'] ca: ipa
$ ansible-playbook --syntax-check ~/playbook.yml- 注意:注意 您不必在 playbook 中调用 firewall 或 certificate 系统角色来管理防火墙或创建证书。cockpit 系统角色根据需要自动调用它们。
第 3 章 安装 Web 控制台附加组件,并创建自定义页面
- 要点:您可以在 web 控制台中添加额外的 可用 应用程序,或创建自定义页面来扩展其用例的功能。
3.1. RHEL web 控制台的附加应用程序
- 要点:使用控制台中的 Applications 页面 或命令行为 RHEL web 控制台安装可选的附加组件应用程序。这些附加组件提供用于特定管理任务的工具。
- 要点:您可以使用以下方法之一安装附加组件应用程序:
- 列表:在 Web 控制台中,点 Applications,并使用可用和已安装的应用程序列表中的 Install 按钮。
- 列表:在命令行中使用 dnf install 命令: # dnf install <add-on> 在上一命令中,将 <add-on> 替换为 RHEL web 控制台的可用附加组件应用程序列表中的一个软件包名称。
- 命令/配置摘录:
# dnf install <add-on>- 表格样本(共 11 行):
- 功能名称 | 软件包名称 | 使用方法
- File manager | cockpit-files | 在标准 Web 控制台界面中管理文件和目录
- HA cluster management | cockpit-ha-cluster [a] | 用来配置红帽高可用性集群的 pcsd Web UI
- Image builder | cockpit-image-builder | 构建自定义操作系统镜像
3.2. 在 web 控制台中创建新页面
- 要点:您可以在 RHEL web 控制台中创建自定义页面,方法是添加一个包含 HTML 和 JavaScript 文件的软件包目录,以将自定义功能和接口集成到 web 控制台中。
- 要点:如需更多信息,请参阅 Cockpit 项目开发人员指南中的为 Cockpit 用户界面和 Cockpit 软件包 创建插件 部分。
3.3. 覆盖 web 控制台中的清单设置
- 要点:您可以通过覆盖默认清单设置来修改所有用户或特定用户的 RHEL web 控制台菜单结构。创建覆盖来调整菜单项的可见性或顺序。
- 要点:在 cockpit 项目中,软件包名称是一个目录名称。软件包包含 manifest.json 文件以及其他文件。默认设置存在于 manifest.json 文件中。您可以通过在指定用户的特定位置创建一个 < package_name> .override.json 文件来覆盖默认的 cockpit 菜单设置。
- 列表:您已安装了 RHEL 10 web 控制台。 具体步骤请参阅安装并启用 Web 控制台。
- 列表:在您选择的文本编辑器中覆盖 <systemd>.override.json 文件中的清单设置,例如: 要为所有用户进行编辑,请输入: # vi /etc/cockpit/<systemd>.override.json 要为单个用户进行编辑,请输入: # vi ~/.config/cockpit/<systemd>.override.json
- 列表:要为所有用户进行编辑,请输入: # vi /etc/cockpit/<systemd>.override.json
- 列表:要为单个用户进行编辑,请输入: # vi ~/.config/cockpit/<systemd>.override.json
- 列表:使用以下详情编辑所需的文件: { "menu": { "services": null, "logs": { "order": -1 } } } null 值隐藏了 services 选项卡 -1 值将 logs 选项卡移到第一个位置。
- 列表:null 值隐藏了 services 选项卡
- 命令/配置摘录:
# vi /etc/cockpit/<systemd>.override.json
# vi ~/.config/cockpit/<systemd>.override.json第 4 章 在 web 控制台中管理订阅
- 要点:您可以在 Red Hat Enterprise Linux 10 web 控制台中管理您的红帽产品订阅。这个功能提供了一个图形界面,用于查看、注册和管理系统订阅。
4.1. 先决条件
- 列表:您的红帽客户门户网站登录或订阅激活码。
4.2. Web 控制台中的订阅管理
- 要点:您可以使用 RHEL web 控制台作为本地系统上 Red Hat Subscription Manager 的图形界面。这简化了注册、管理和查看附加的订阅的过程。
- 要点:Subscription Manager 连接到红帽客户门户网站并验证是否可用:
- 列表:活跃的订阅
- 列表:过期的订阅
- 列表:续订的订阅
- 列表:红帽客户门户网站
4.3. 在 web 控制台中使用凭证注册订阅
- 要点:您可以在 web 控制台中使用您的红帽客户门户网站凭证注册 RHEL 系统并附加订阅。
- 要点:先决条件
- 列表:红帽客户门户网站中 的有效用户帐户。 请参阅 创建红帽登录页面。
- 列表:RHEL 系统的一个活跃订阅。
- 列表:您已安装了 RHEL 10 web 控制台。 具体步骤请参阅安装并启用 Web 控制台。
- 列表:登录到 RHEL 10 web 控制台。
- 列表:在 Overview 页面中的 Health 字段中,点击 Not registered 警告,或者点击主菜单中的 Subscriptions 进入到具有您订阅信息的页面。
- 列表:在 Overview 字段中,点 Register。
4.4. 在 web 控制台中使用激活码注册订阅
- 要点:您可以在 RHEL web 控制台中使用激活码注册新安装的 Red Hat Enterprise Linux。
- 要点:先决条件
- 列表:您的红帽产品订阅的激活码。
- 列表:您已安装了 RHEL 10 web 控制台。 具体步骤请参阅安装并启用 Web 控制台。
- 列表:登录到 RHEL 10 web 控制台。
- 列表:在 Overview 页面的 Health 字段中,点击 Not registered 警告,或者点击主菜单中的 Subscriptions 来进入到订阅信息页面。 .
- 列表:在 Overview 文件中,点 Register。
- 列表:在 Register system 对话框中,选择 Activation key ,以使用激活码进行注册。
第 5 章 在 web 控制台中管理远程系统
- 要点:您可以连接到远程系统,并在 Red Hat Enterprise Linux web 控制台中通过单一界面监控和管理它们。
- 要点:为了安全起见,请使用以下由 Web 控制台管理的远程系统的网络配置:
- 列表:将一个系统配置为堡垒主机。堡垒主机是一个带有打开的 HTTPS 端口的系统。
- 列表:所有其他系统通过 SSH 进行通信。
5.1. 从 Web 控制台登录页面使用 SSH 连接到远程主机
- 要点:您可以直接从 RHEL web 控制台的登录页面使用 SSH 协议连接到远程系统。远程登录后,连接流量会被加密,您可以在 web 控制台的图形界面中管理远程系统。
- 要点:先决条件
- 列表:您已安装了 RHEL 10 web 控制台。 具体步骤请参阅安装并启用 Web 控制台。
- 列表:cockpit-system 软件包已安装在远程系统上。
- 列表:sshd 服务在远程系统上运行,且防火墙中允许相应的端口。
- 列表:打开 Web 控制台登录页面。
- 列表:在 User name 字段中指定远程主机上的用户名。
- 列表:单击 Other options 以显示 Connect to 文本字段。
5.2. 在 web 控制台中添加远程主机
- 要点:登录到 RHEL web 控制台时,您可以通过主机切换器在本地系统和多个远程主机间切换。在添加其凭证后,您可以连接到和管理远程系统。
- 要点:先决条件
- 列表:您已安装了 RHEL 10 web 控制台。 具体步骤请参阅安装并启用 Web 控制台。
- 列表:在命令行中,在您首选的文本编辑器中打开或创建 /etc/cockpit/ 目录中的 cockpit.conf 文件。
- 列表:添加以下文本: [WebService] AllowMultiHost=yes 警告 主机切换器已弃用并默认禁用。此外,由于技术限制,此功能也不安全。如果要连接到不可信主机,请不要启用主机切换器,因为所有连接的系统都可以对连接的系统进行任意更改。作为安全替代方案,请使用 Web 控制台登录页面,以及每个浏览器会话的一个主机限制,或使用 Cockpit Client Flatpak。
- 列表:保存该文件。
- 列表:重启 Web 控制台,以确保更改生效。 # systemctl try-restart cockpit
- 列表:在 RHEL web 控制台中,点 Overview 页面左上角的 <username>@<hostname>。
- 命令/配置摘录:
[WebService] AllowMultiHost=yes
# systemctl try-restart cockpit- 注意:警告 主机切换器已弃用并默认禁用。此外,由于技术限制,此功能也不安全。如果要连接到不可信主机,请不要启用主机切换器,因为所有连接的系统都可以对连接的系统进行任意更改。作为安全替代方案,请使用 Web 控制台登录页面,以及每个浏览器会话的一个主机限制,或使用 Cockpit Client Flatpak。
- 注意:重要 Web 控制台不保存用来登录到远程系统的密码。
5.3. 为新主机启用 SSH 登录
- 要点:您可以为在 RHEL web 控制台中使用基于密钥的身份验证的新远程主机启用安全 SSH 登录。
- 要点:如果您的系统中已有 SSH 密钥,Web 控制台将使用现有的密钥;否则,它可以创建密钥。
- 列表:您已安装了 RHEL 10 web 控制台。 具体步骤请参阅安装并启用 Web 控制台。
- 列表:您考虑到安全风险,并启用主机切换器。 如需更多信息,请参阅 将远程主机添加到 web 控制台中。
- 列表:登录到 RHEL 10 web 控制台。
- 列表:在 RHEL web 控制台中,点 Overview 页面左上角的 <username>@<hostname>。
- 列表:在下拉菜单中,单击 Add new host。
- 列表:在 Add new host 对话框中,指定要添加的主机。如果您第一次连接到主机,您必须单击以下对话框中的 Trust and add new host。
5.4. 在 web 控制台中为 SSH 登录配置智能卡验证
- 要点:在 RHEL web 控制台中登录到用户帐户后,您可以使用 SSH 协议连接到远程机器。您可以使用受限委托功能来使用 SSH,而无需再次进行身份验证。
- 要点:在本例中,Web 控制台会话在 myhost.idm.example.com 上运行。配置控制台,以代表经过身份验证的用户使用 SSH 访问 remote.idm.example.com。
- 列表:您已在 myhost.idm.example.com 上获得了一个 IdM admin 票据授予票据(TGT)。
- 列表:您有访问 remote.idm.example.com 的 root 权限。
- 列表:运行 Web 控制台的主机是 IdM 域的一员。
- 列表:在 Terminal 页面中,验证 web 控制台是否已在用户会话中创建了一个 Service for User to Proxy (S4U2proxy) Kerberos 票据: $ klist … Valid starting Expires Service principal 05/20/25 09:19:06 05/21/25 09:19:06 HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM …
- 列表:创建一个委派规则可访问的目标主机的列表: 创建服务委托目标: $ ipa servicedelegationtarget-add cockpit-target 将目标主机添加到委派目标: $ ipa servicedelegationtarget-add-member cockpit-target \ --principals=host/remote.idm.example.com@IDM.EXAMPLE.COM
- 列表:创建服务委托目标: $ ipa servicedelegationtarget-add cockpit-target
- 命令/配置摘录:
$ klist … Valid starting Expires Service principal 05/20/25 09:19:06 05/21/25 09:19:06 HTTP/myhost.idm.example.com@IDM.EXAMPLE.COM …
$ ipa servicedelegationtarget-add cockpit-target5.5. 使用 Ansible 为 web 控制台中的 SSH 登录配置智能卡验证
- 要点:登录到 web 控制台后,您可以使用 SSH 协议连接到远程机器。您可以使用 servicedelegation* Ansible 模块为受限委托功能配置 Web 控制台,以允许 SSH 连接而无需额外身份验证。
- 要点:在本例中,Web 控制台会话在 myhost.idm.example.com 上运行。您可以将它配置为代表经过身份验证的用户使用 SSH 访问 remote.idm.example.com。
- 列表:您已在 myhost.idm.example.com 上获得了一个 IdM admin 票据授予票据(TGT)。
- 列表:您有访问 remote.idm.example.com 的 root 权限。
- 列表:运行 Web 控制台的主机是 IdM 域的一员。
- 列表:您已配置了 Ansible 控制节点以满足以下要求: 您已安装 ansible-freeipa 软件包。 示例假设您在 ~/MyPlaybooks/ 目录中创建了一个带有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件。 示例假定 secret.yml Ansible vault 将 admin 密码存储在 ipaadmin_password 变量中。 如需更多信息,请参阅 /usr/share/doc/ansible-freeipa/ playbooks/servicedelegationtarget 和 /usr/share/doc/ansible -freeipa/playbooks/servicede…
- 列表:您已安装 ansible-freeipa 软件包。
- 列表:示例假设您在 ~/MyPlaybooks/ 目录中创建了一个带有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件。
- 命令/配置摘录:
$ cd ~/MyPlaybooks/
$ ansible-vault create secret.yml New Vault password: <vault_password> Confirm New Vault password: <vault_password>第 6 章 在 IdM 域中为 RHEL web 控制台配置 SSO 身份验证
- 要点:使用身份管理(IdM)为 RHEL web 控制台配置单点登录(SSO)身份验证。启用 SSO 后,具有 Kerberos 票据的 IdM 用户可以访问 Web 控制台,而无需重新输入凭证。
- 要点:您可以使用 RHEL web 控制台中的 Identity Management (IdM)提供的单点登录(SSO)身份验证有以下优点:
- 列表:IdM 域管理员可以使用 Web 控制台管理本地系统。
- 列表:IdM 域中具有 Kerberos 票据的用户不必提供登录凭据来访问 Web 控制台。
- 列表:IdM 域已知的所有主机均可通过 web 控制台本地实例的 SSH 访问。
- 列表:不需要证书配置。控制台的 Web 服务器会自动切换到 IdM 证书颁发机构发布的证书,并被浏览器接受。
- 列表:您必须使用 Web 控制台将系统添加到 IdM 域中。
- 列表:如果要使用 Kerberos 进行身份验证,您必须在系统上获得 Kerberos 票据。
6.1. 使用 web 控制台将 RHEL 系统加入到 IdM 域
- 要点:您可以在 RHEL web 控制台中将 RHEL 系统直接加入到 IdM 域中,将系统集成到集中式身份管理环境中,并允许 IdM 用户登录。
- 要点:先决条件
- 列表:IdM 域正在运行,并可访问您想要加入的客户端。
- 列表:您有 IdM 域管理员凭证。
- 列表:您已安装了 RHEL 10 web 控制台。 具体说明请参阅安装并启用 Web 控制台。
- 列表:登录到 RHEL 10 web 控制台。
- 列表:在 Overview 选项卡的 Configuration 字段中点 Join Domain。
- 列表:在 Join a Domain 对话框中,在 Domain Address 字段中输入 IdM 服务器的主机名。
- 命令/配置摘录:
$ id
euid=548800004(example_user) gid=548800004(example_user) groups=548800004(example_user) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c10236.2. 使用 Kerberos 身份验证登录到 web 控制台
- 要点:您可以使用 Kerberos 身份验证登录到 RHEL web 控制台。如果您已经有来自 IdM 域的有效的 Kerberos 票据,您可以在不重新输入您的密码的情况下访问控制台。
- 要点:先决条件
- 列表:IdM 域在您的公司环境中运行并可访问。 详情请参阅使用 Web 控制台将 RHEL 系统添加到 IdM 域中。
- 列表:您已安装了 RHEL 10 web 控制台。 具体说明请参阅安装并启用 Web 控制台。
- 列表:如果系统没有使用 SSSD 客户端管理的 Kerberos 票据,请使用 kinit 工具手动请求票据。
- 列表:通过在网页浏览器中输入以下 URL 登录到 RHEL web 控制台: https://<dns_name>:9090
- 列表:成功登录后,Web 控制台会显示 Overview 页面,而不会提示输入密码。
- 命令/配置摘录:
https://<dns_name>:9090- 注意:重要 使用 SSO ,您通常在 Web 控制台中没有任何管理特权。这只有在您配置免密码 sudo 时有效。Web 控制台不会以交互方式提示输入 sudo 密码。
第 7 章 使用 Web 控制台为集中管理的用户配置智能卡验证
- 要点:为 RHEL web 控制台中的集中管理用户配置智能卡验证。这种安全措施有助于为管理和常规用户提供物理访问控制。
- 要点:您可以在 RHEL web 控制台中为集中管理的用户配置智能卡验证:
- 列表:身份管理
- 列表:Active Directory,它在 Identity Management 的跨林信任中连接
7.1. 先决条件
- 列表:要使用智能卡验证的系统必须是 Active Directory 或 Identity Management 域的成员。
- 列表:用于智能卡验证的证书必须与身份管理或 Active Directory 中的特定用户关联。
7.2. 用于集中管理的用户的智能卡验证
- 要点:使用智能卡验证为集中管理的用户提供强大的身份验证。此方法将用户帐户链接到物理凭据,增强身份管理域中的系统的安全性。
- 要点:智能卡是一个物理设备,它可以使用保存在卡中的证书来提供个人验证。个人验证意味着,您可以象使用用户密码一样使用智能卡。
- 列表:为 IdM 中智能卡验证配置 ADCS 发布的证书
- 列表:RHEL 8 及之后的版本中的智能卡支持(红帽知识库)
7.3. 为 Web 控制台启用智能卡验证
- 要点:要允许集中管理的用户使用智能卡凭证和 IdM 域策略安全地登录,请为 RHEL web 控制台启用智能卡验证。
- 要点:要在 web 控制台中使用智能卡验证,请在 cockpit.conf 文件中启用此身份验证方法。另外,您还可以在同一文件中禁用密码验证。
- 列表:您已安装了 RHEL 10 web 控制台。 具体说明请参阅安装并启用 Web 控制台。
- 列表:登录到 RHEL 10 web 控制台。
- 列表:点 Terminal。
- 列表:在 /etc/cockpit/cockpit.conf 中,将 ClientCertAuthentication 设置为 yes : [WebService] ClientCertAuthentication = yes
- 列表:可选:使用以下内容在 cockpit.conf 中禁用基于密码的身份验证: [Basic] action = none 这个配置禁用了密码验证,且必须总是使用智能卡。
- 列表:重启 Web 控制台,以确保 cockpit.service 接受更改: # systemctl restart cockpit
- 命令/配置摘录:
[WebService] ClientCertAuthentication = yes
[Basic] action = none7.4. 使用智能卡登录到 web 控制台
- 要点:您可以使用智能卡凭证登录到 RHEL web 控制台。这使用配置的智能卡策略通过集中管理的用户进行安全访问。
- 要点:先决条件
- 列表:保存在智能卡中的有效证书,该证书与 Active Directory 或 Identity Management 域中创建的用户帐户关联。
- 列表:PIN 用于解锁智能卡。
- 列表:已经将智能卡放入读卡器。
- 列表:您已安装了 RHEL 10 web 控制台。 具体说明请参阅安装并启用 Web 控制台。
- 列表:登录到 RHEL 10 web 控制台。 浏览器要求您添加 PIN 保护保存在智能卡中的证书。
- 列表:在 Password Required 对话框中,输入 PIN 并点 OK。
- 注意:注意 此步骤不适用于 Google Chrome 用户。
7.5. 为智能卡用户启用免密码 sudo 身份验证
- 要点:您可以为智能卡用户启用免密码 sudo 身份验证,以允许他们在不输入密码的情况下执行管理任务,从而提高了操作效率和安全性。
- 要点:或者,如果使用 RHEL 身份管理,您可以将初始 Web 控制台证书声明为可信,以便使用 sudo、SSH 或其他服务进行身份验证。Web 控制台会在用户会话中自动创建一个 S4U2Proxy Kerberos ticket。
- 列表:已安装身份管理。
- 列表:Active Directory 在身份管理的跨林信任中连接。
- 列表:您的智能卡被配置为登录到 web 控制台。如需更多信息 ,请参阅使用 Web 控制台配置智能卡验证。
- 列表:配置约束委派规则,以列出托管票据可以访问哪些主机。 创建以下示例委派: 输入以下命令添加特定规则可以访问的目标机器列表: # ipa servicedelegationtarget-add cockpit-target # ipa servicedelegationtarget-add-member cockpit-target \ --principals=host/host.example.com@EXAMPLE.COM \ --principals=host/remote.example.com@EXAMPLE.COM 要启用 Web 控制台会话(HTTP/principal)来访问该主机列表,请使用以下命令: # ipa …
- 列表:创建以下示例委派: 输入以下命令添加特定规则可以访问的目标机器列表: # ipa servicedelegationtarget-add cockpit-target # ipa servicedelegationtarget-add-member cockpit-target \ --principals=host/host.example.com@EXAMPLE.COM \ --principals=host/remote.example.com@EXAMPLE.COM 要启用 Web 控制台会话(HTTP/principal)来访问该主机列表,请使用以下命令: # ipa servicedelegationrule-add …
- 列表:输入以下命令添加特定规则可以访问的目标机器列表: # ipa servicedelegationtarget-add cockpit-target # ipa servicedelegationtarget-add-member cockpit-target \ --principals=host/host.example.com@EXAMPLE.COM \ --principals=host/remote.example.com@EXAMPLE.COM
- 命令/配置摘录:
# ipa servicedelegationtarget-add cockpit-target
# ipa servicedelegationtarget-add-member cockpit-target \ --principals=host/host.example.com@EXAMPLE.COM \ --principals=host/remote.example.com@EXAMPLE.COM- 注意:警告 从 Web 控制台连接到远程 SSH 主机时,委派的 S4U 票据不会被转发到远程 SSH 主机。使用您的票据在远程主机上向 sudo 进行身份验证将无法正常工作。
7.6. 限制用户会话和内存以防止 DoS 攻击
- 要点:要降低 cockpit-ws Web 服务器上的拒绝服务(DoS)攻击的风险,请通过更改其 systemd 配置来限制 Web 控制台服务的用户会话和内存消耗。
- 要点:证书身份验证会隔离 cockpit-ws Web 服务器的实例,以防止用户模拟。但是,它引入了 DoS 攻击的面。一个远程攻击者可以创建多个证书,并将多个 HTTPS 请求发送到 cockpit-ws,各自使用不同的证书。
- 列表:您已安装了 RHEL 10 web 控制台。 具体说明请参阅安装并启用 Web 控制台。
- 列表:在命令行中打开 system-cockpithttps.slice 配置文件: # systemctl edit system-cockpithttps.slice
- 列表:将 TasksMax 限制为 100,将 CPUQuota 限制为 30% : [Slice] # change existing value TasksMax=100 # add new restriction CPUQuota=30%
- 列表:要应用这些更改,请重启系统: # systemctl daemon-reload # systemctl stop cockpit
- 列表:验证是否应用了新资源限值: # systemctl show system-cockpithttps.slice --property=TasksMax,CPUQuota
- 命令/配置摘录:
# systemctl edit system-cockpithttps.slice
[Slice] # change existing value TasksMax=100 # add new restriction CPUQuota=30%7.7. 其他资源
- 列表:使用 web 控制台将 RHEL 系统添加到 IdM 域中
- 列表:在 IdM Web UI 的用户条目中添加证书
- 列表:在 IdM CLI 中向用户条目中添加证书
第 8 章 Web 控制台中的 Satellite 主机管理和监控
- 要点:在 Red Hat Satellite 服务器上启用 RHEL web 控制台集成后,您可以在 web 控制台中大规模管理很多主机。
- 要点:Red Hat Satellite 是一个系统管理解决方案,用来跨物理、虚拟和云环境来部署、配置和维护您的系统。Satellite 使用集中式工具提供对多个 Red Hat Enterprise Linux 部署的配置、远程管理和监控。
- 列表:使用 Red Hat Satellite 指南中的管理主机中的 RHEL web 控制台托管管理和监控
- 命令/配置摘录:
# satellite-installer --enable-foreman-plugin-remote-execution-cockpit --reset-foreman-plugin-remote-execution-cockpit-ensure完整目录
- 具有基于 Web 的图形界面的服务器管理
- 对红帽文档提供反馈
- 第 1 章 RHEL web 控制台入门
- 1.1. 什么是 RHEL web 控制台
- 1.2. 安装并启用 Web 控制台
- 1.3. 登录到 Web 控制台
- 1.4. Web 控制台中的管理访问权限
- 1.5. 在 web 控制台中禁用基本身份验证
- 1.6. 从远程机器连接至 web 控制台
- 1.7. 以 root 用户身份从远程机器连接到 web 控制台
- 1.8. 使用一次性密码登录到 web 控制台
- 1.9. 在登录页面中添加标题
- 1.10. 在 web 控制台中配置自动闲置锁定
- 1.11. 更改 Web 控制台侦听端口
- 第 2 章 使用 RHEL 系统角色安装和配置 web 控制台
- 2.1. 使用 cockpit RHEL 系统角色安装 Web 控制台
- 第 3 章 安装 Web 控制台附加组件,并创建自定义页面
- 3.1. RHEL web 控制台的附加应用程序
- 3.2. 在 web 控制台中创建新页面
- 3.3. 覆盖 web 控制台中的清单设置
- 第 4 章 在 web 控制台中管理订阅
- 4.1. 先决条件
- 4.2. Web 控制台中的订阅管理
- 4.3. 在 web 控制台中使用凭证注册订阅
- 4.4. 在 web 控制台中使用激活码注册订阅
- 第 5 章 在 web 控制台中管理远程系统
- 5.1. 从 Web 控制台登录页面使用 SSH 连接到远程主机
- 5.2. 在 web 控制台中添加远程主机
- 5.3. 为新主机启用 SSH 登录
- 5.4. 在 web 控制台中为 SSH 登录配置智能卡验证
- 5.5. 使用 Ansible 为 web 控制台中的 SSH 登录配置智能卡验证
- 第 6 章 在 IdM 域中为 RHEL web 控制台配置 SSO 身份验证
- 6.1. 使用 web 控制台将 RHEL 系统加入到 IdM 域
- 6.2. 使用 Kerberos 身份验证登录到 web 控制台
- 第 7 章 使用 Web 控制台为集中管理的用户配置智能卡验证
- 7.1. 先决条件
- 7.2. 用于集中管理的用户的智能卡验证
- 7.3. 为 Web 控制台启用智能卡验证
- 7.4. 使用智能卡登录到 web 控制台
- 7.5. 为智能卡用户启用免密码 sudo 身份验证
- 7.6. 限制用户会话和内存以防止 DoS 攻击
- 7.7. 其他资源
- 第 8 章 Web 控制台中的 Satellite 主机管理和监控
