用openubmc社区版本KVM不可以用怎么办?

// 此模板仅供参考,如果不适用可以修改

问题描述

[在这里详细描述您遇到的问题]

环境信息

  • 操作系统:[如 Ubuntu 24.04]

  • 软件版本:OpenUBMC2609

  • 硬件配置:宝德 鲲鹏920 PR210KPRO

重现步骤

  1. [第一步]

  2. [第二步]

  3. [第三步]

期望结果

希望可以正常通过KVM访问。

实际结果

报证书有问题

尝试过的解决方案

分析结论

[详细总结您对此问题的分析结论]

答案内容由AI生成,仅供参考:

解决方案

1. 确认并重新生成 SSL 证书(最直接)

  • 登录到 BMC 的 SSH 或串口(前提是 SSH 仍可用),检查当前证书信息:
    ipmcget -t certificate -d list
    
  • 使用 OpenSSL 3.x(Ubuntu 24.04 自带版本为 3.x)生成新的自签名证书:
    openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server.key -out server.crt
    
    然后将证书转换为 PKCS12 格式(如需):
    openssl pkcs12 -export -in server.crt -inkey server.key -out server.pfx -passout pass:
    
  • 将新证书导入 BMC(以 ipmcset 为例):
    ipmcset -t certificate -d import -v /tmp/server.pfx 1
    
    参考搜索结果的解决步骤:升级 openssl 3.x 后生成证书并导入成功。

2. 检查 BMC 系统时间

  • 确保 BMC 时间与网络时间同步,避免因时间偏差导致证书验证超时:
    ipmcset -t ntp -d enable
    
    或手动校准时间:
    ipmcset -t datetime -v "YYYY-MM-DD HH:MM:SS"
    

3. 若由升级引起,重新导入证书并清理配置

  • 如果问题出现在不保留配置升级后,可尝试清除所有配置并重新导入证书:
    ipmcset -t maintenance -d clearcfg
    
    然后导入新证书并重启 BMC。

总结

针对您的“报证书有问题”现象,最核心的解决方法是使用 OpenSSL 3.x 重新生成自签名证书并导入 BMC。此方案已在社区版本(25.03~25.09)上验证有效。如果证书修复后问题仍存在,请结合上述其他排查项定位。若所有方法无效,建议在社区论坛提供详细日志(包括 certificateunknown_service 相关日志)以获得进一步分析。

点击此处查看详细分析解答

问题分析

根据您提供的信息(OpenUBMC2609、Ubuntu 24.04、宝德鲲鹏920 PR210KPRO),KVM 报“证书有问题”可能是以下几种情况之一:

  1. BMC 的 SSL 证书与 openUBMC 社区版本不兼容
    社区版本的 BMC 对证书生成所使用的 OpenSSL 版本有要求。使用 OpenSSL 1.x 生成的证书在导入时会失败,导致 Web 服务(包括 KVM 依赖的 HTTPS 通道)无法正常建立。
    依据:搜索结果为“社区版本BMC导入SSL证书失败问题分析”指出,使用 openssl1.x 生成的证书导入失败,升级至 openssl3.x 后重新生成证书可正常导入。

  2. 证书超时或验证失败
    知识图谱中记录了“Hashed Certificate Timeout”概念,证书超时问题会导致 KVM 激活被阻止。可能的原因是 BMC 系统时间不准确或证书链不完整。
    依据:知识图谱关系 Hashed Certificate Timeout → KVM,描述为“A certificate timeout issue was reported during KVM setup, blocking access.”

  3. 固件升级导致的证书解密失败
    如果近期进行过不保留配置的固件升级(或恢复出厂设置),原配置中的 SSL 证书可能与新固件不匹配,导致解密失败,进而影响 Web 登录和 KVM 连接。
    依据:搜索结果为“自签名openubmc版本不保留配置升级后web页面拒绝登录问题分析”指出,还原点证书密文不匹配导致证书解密失败。

解决方案

1. 确认并重新生成 SSL 证书(最直接)

  • 登录到 BMC 的 SSH 或串口(前提是 SSH 仍可用),检查当前证书信息:
    ipmcget -t certificate -d list
    
  • 使用 OpenSSL 3.x(Ubuntu 24.04 自带版本为 3.x)生成新的自签名证书:
    openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server.key -out server.crt
    
    然后将证书转换为 PKCS12 格式(如需):
    openssl pkcs12 -export -in server.crt -inkey server.key -out server.pfx -passout pass:
    
  • 将新证书导入 BMC(以 ipmcset 为例):
    ipmcset -t certificate -d import -v /tmp/server.pfx 1
    
    参考搜索结果的解决步骤:升级 openssl 3.x 后生成证书并导入成功。

2. 检查 BMC 系统时间

  • 确保 BMC 时间与网络时间同步,避免因时间偏差导致证书验证超时:
    ipmcset -t ntp -d enable
    
    或手动校准时间:
    ipmcset -t datetime -v "YYYY-MM-DD HH:MM:SS"
    

3. 若由升级引起,重新导入证书并清理配置

  • 如果问题出现在不保留配置升级后,可尝试清除所有配置并重新导入证书:
    ipmcset -t maintenance -d clearcfg
    
    然后导入新证书并重启 BMC。

其他可能的快速规避或排查措施

如果证书修复后 KVM 仍不可用,请同时考虑以下常见问题:

  • 浏览器弹窗拦截:检查浏览器是否阻止了 KVM 弹窗,需允许弹出窗口。
    依据:知识图谱关系 Browser Popup Blocking → KVM,描述为“KVM cannot open when the browser blocks pop-ups”。
  • 会话 token 失效:刷新页面会导致连接 token 过期,建议从【用户信息】页面手动清除失效会话。
    依据:搜索结果为“kvm页面点击刷新后报会话失效问题分析”。
  • DBus 连接上限(针对“认证失败”而非证书):
    如果后台日志中出现 auth vmm session failed, error: LimitsExceeded,则是 DBus 句柄未关闭。重启 BMC 可临时恢复。
    依据:文档块 topic 3759 及搜索结果为“kvm挂载镜像提示认证失败问题分析”。
  • KVM 端口可达性:确认 BMC IP 的 2198/2199 端口是否正常开放(通过 Telnet 或端口扫描测试)。

总结

针对您的“报证书有问题”现象,最核心的解决方法是使用 OpenSSL 3.x 重新生成自签名证书并导入 BMC。此方案已在社区版本(25.03~25.09)上验证有效。如果证书修复后问题仍存在,请结合上述其他排查项定位。若所有方法无效,建议在社区论坛提供详细日志(包括 certificateunknown_service 相关日志)以获得进一步分析。

可以先按提示更新下证书,如果还有问题,请提供更多日志信息(app.log 或 一键收集日志)