答案内容由AI生成,仅供参考:
总结
| 问题 | 是否有解 | 解决路径 |
|---|---|---|
| 设置信任证书超时 | 重启 BMC + 检查证书 + 确保系统时间准确 | |
| D-Bus 连接数超限 | 重启或升级到修复版本 | |
| 浏览器/网络问题 | 检查端口与浏览器设置 |
最终建议:优先尝试重启 BMC + 校准系统时间 + 重新导入证书组合操作。若频繁发生,请升级到官方 LTS 修复版本以避免资源泄漏问题。
点击此处查看详细分析解答
H5 KVM 无法打开:设置信任证书超时问题分析与解答
当尝试通过 H5 界面启动 KVM(键盘、视频、鼠标)远程控制台时,出现“设置信任证书超时,无法开启 KVM”的错误提示。该问题在多个 OpenUBMC 版本中均有报告,以下是基于现有信息的综合分析与解决建议。
问题现象描述
- 环境信息:
- 软件版本:如 OpenUBMC 25.09、25.12.00.01 等(问题具有通用性)
- 访问方式:通过 Web 浏览器访问
UI/Static/#/kvm_h5路径使用 H5 KVM 功能
- 重现步骤:
- 登录 BMC Web 管理界面;
- 导航至“虚拟控制台”或点击“启动虚拟控制台”;
- 尝试开启 H5 KVM。
- 实际结果:
提示:“设置信任证书超时,无法开启 KVM”
- 期望结果:
KVM 正常启动并显示远程服务器画面。
可能原因分析
1. 证书服务异常或未就绪
KVM 的安全连接依赖于 TLS 加密和本地证书的信任配置。若 BMC 的证书服务(Certificate Service)未正确加载、初始化失败或证书链为空,会导致 KVM 认证流程超时。
-
相关日志特征:
certificate NOTICE: certificate_collection_ssl.lua(481): get empty chain info, 4表示证书链信息为空,无法构建信任链。
-
关联实体:
https://discuss.openubmc.cn/t/topic/1373:论坛中有讨论关于 BMC 证书导入失败的问题。https://discuss.openubmc.cn/t/topic/2489:讨论更新 BMC 固件和导入 SSL 证书时可能引发此问题。
2. 系统时间异常导致证书验证失败
TLS 证书的有效性依赖于系统时间。如果 BMC 的时间不正确(例如被重置、NTP 同步失败),可能导致证书被认为“尚未生效”或“已过期”,从而触发信任建立超时。
- 知识图谱支持:
“BMC may generate intermittent alarms such as low voltage warnings, indicating potential hardware inconsistencies. Reboots have been reported to trigger KVM service issues.”
3. DBus 连接资源耗尽
KVM 在建立会话时需要与后端服务(如 VMM)进行通信。若存在未释放的 D-Bus 会话连接,会导致新会话无法认证,表现为“设置信任失败”。
-
案例参考(Document Chunk 参考 id: 3):
auth vmm session failed, error: org.freedesktop.DBus.Error.LimitsExceeded: The maximum number of active connections for UID 104 has been reached此错误明确指出:DBus 活动连接数已达上限,是导致 KVM 认证失败的根本原因。
-
根因:
获取对象失败但未关闭 D-Bus 句柄,导致句柄泄漏。 -
临时规避方法:重启 BMC。
4. 前端资源加载延迟或阻塞
浏览器端访问 UI/Static/#/kvm_h5 时,若网络延迟高或安全策略阻止了某些端口/资源加载(如 WebSocket 2198 端口),也可能造成“设置信任证书”阶段超时。
- 相关端口:
- 控制端口:2198(TCP)
- 数据端口:2199 或 886(依版本而定)
检查浏览器是否弹出被拦截的窗口提示或控制台报错(F12 查看 Network/Console)。
解决方案与建议
方案一:重启 BMC(临时有效)
多个用户反馈重启 BMC 后问题消失:
“未找到原因,重启BMC后恢复了” —— 用户 WH11003(参考文档 5)
- 优点:快速恢复服务
- 缺点:仅为临时规避,无法根治资源泄漏等问题
方案二:检查并修复证书配置
1. 确认证书服务状态
systemctl status bmc_certificate_service
2. 重新导入证书(若证书为空或损坏)
# 示例命令(来自 key_mgmt FAQ)
busctl --user call bmc.kepler.trust /bmc/kepler/CertificateService \
bmc.kepler.CertificateService.ImportCertWithKey a{ss}sss \
3 Interface Busctl UserName Administrator ClientIp 127.0.0.1 \
URI /tmp/IISCert.p12 123456
注意:导入前确保系统时间准确!
3. 检查证书链是否完整
确保 CA 根证书已正确安装,且信任链完整。
方案三:排查 D-Bus 资源泄漏
-
检查是否有大量残留连接:
dbus-send --system --dest=org.freedesktop.DBus /org/freedesktop/DBus \ org.freedesktop.DBus.ListNames | grep -i vmm -
若发现资源耗尽:
- 建议升级到修复了句柄泄漏问题的版本(如社区 LTS 补丁版本)。
- 或联系开发团队确认是否已修复
mdb_client.lua中的连接释放逻辑。
方案四:检查系统时间与时钟同步
# 查看当前时间
date
# 手动设置时间(调试用)
date -s "2025-04-05 10:00:00"
# 检查 NTP 状态
timedatectl status
确保:
- RTC 时间正确;
- NTP 已启用且可同步;
- 无长时间偏差(> 5 次更新失败可能影响服务)。
方案五:浏览器与网络排查
| 检查项 | 建议 |
|---|---|
| 浏览器兼容性 | 使用 Chrome / Edge 最新版 |
| 端口开放性 | 确认 2198 是否被防火墙/代理拦截 |
| 安全插件 | 禁用广告拦截器、隐私保护工具 |
| 开发者工具 | 检查 Console 和 Network 是否有错误 |
根本解决建议
| 项目 | 建议 |
|---|---|
| 版本升级 | 升级至 OpenUBMC 25.09 或更高版本,该版本已修复部分 KVM 证书认证问题 |
| 日志收集 | 使用“一键日志收集”工具获取完整日志,重点关注: - certificate_service.log- vmm.log- kvm_handler.log |
| 长期监控 | 部署健康检查脚本监控证书服务、DBus 状态与 KVM 端口监听情况 |
参考资料
-
论坛链接: -
API 接口参考:UI/Rest/KvmHandler:用于创建 KVM 会话Redfish API /redfish/v1/Managers/manager_id/KvmService:标准 Redfish KVM 接入点
总结
| 问题 | 是否有解 | 解决路径 |
|---|---|---|
| 设置信任证书超时 | 重启 BMC + 检查证书 + 确保系统时间准确 | |
| D-Bus 连接数超限 | 重启或升级到修复版本 | |
| 浏览器/网络问题 | 检查端口与浏览器设置 |
最终建议:优先尝试重启 BMC + 校准系统时间 + 重新导入证书组合操作。若频繁发生,请升级到官方 LTS 修复版本以避免资源泄漏问题。