IPMI命令报错问题分析
更新时间: 2026/06/03
在Gitcode上查看源码

问题背景

  • 单板类型:NA
  • 软件版本:NA
  • 涉及功能:带外 IPMI 命令,RMCP+ 会话,KMC 加密鉴权。
  • 触发条件:管理员用户密码的 KMC 加密数据异常或密钥丢失。
  • 业务表现:预期带外 IPMI 命令正常执行;实际带外 IPMI 命令报"Unable to establish IPMI v2 / RMCP+ session",带内 KCS 命令正常。

问题复现步骤

  1. 通过带外 LAN 接口执行 IPMI 命令,例如:

    bash
    ipmitool -I lanplus -H 192.168.82.24 -U Administrator -P openUBMC@2025 sdr -C 17
  2. 命令失败,提示无法建立 RMCP+ 会话。

  3. 带内命令(如通过 KCS 接口)可以正常执行。

关键日志信息

查看日志,确认报错如下:

text
2025-12-24 19:56:49.210522 account ERROR: [C](65535): [WSEC_CBB][][405] (UTC) 2025-12-24 11:56:49 Key (DomainId=6, KeyId=5) not found
2025-12-24 19:56:49.211474 account ERROR: [C](65535): [WSEC_CBB][][1891] (UTC) 2025-12-24 11:56:49 MemGetMkByIDHash fail 268
2025-12-24 19:56:49.216944 account ERROR: kmc_client.lua(46): decrypt failed, decrypt failed, ret = 268
2025-12-24 19:56:49.224018 om ERROR: v3_adapter.c(154): dbus_call_gen_rmcp20_code: call method failed, error: method call returns error, name: BMC.Error.Unknow, message: {..."decrypt failed, ret = 268"}

定位过程

  1. 带外命令失败但带内正常,初步判断问题在 RMCP+ 会话建立环节的鉴权流程。
  2. 查看日志,Key 查找失败(KeyId=5 not found),KMC 解密失败返回 268。
  3. 判断管理员用户密码的 KMC 加密数据可能损坏或密钥丢失。
  4. 尝试删除现有的 Administrator 用户,重新创建同名管理员用户。
  5. 重建用户后带外 IPMI 命令恢复正常。

问题原因

数据库异常导致管理员用户密码的 KMC 加密数据损坏或密钥丢失,带外 RMCP+ 会话建立时解密鉴权失败,命令无法执行。

解决方案

删除现有的 Administrator 用户(如 2 号用户),重新创建同名管理员用户即可恢复。若问题复现,需排查数据库完整性。