禁用-C 17的ipmi命令发不通问题分析
更新时间: 2026/05/30
在Gitcode上查看源码

问题背景

  • 单板类型:自研板;
  • 软件版本:openUBMC 26.03;
  • 涉及功能:ipmi;
  • 触发条件:带外下发不带-C 17的ipmi命令;
  • 业务表现:预期可正常下发ipmi命令并返回成功,实际不可下发返回报错。

问题复现步骤

带外下发不带-C 17的ipmi命令.

关键日志信息

ipmi下发的命令中不带-C 17后报错:

定位过程

  1. 从日志截图中可看出来,报错信息为"no matching cipher suite";
  2. 查看lan协议相关的ipmi加密套件帮助信息,从信息上可知ipmitool 在1.8.18版本和之前版本,默认参数是 -C 3,ipmi命令中可以不配置加密套件信息,之后的版本是-C 17,ipmi命令中必须明确写明,而且BMC目前版本默认禁用除了-C 17之外的加密套件,如果想用lanplus,就要用redfish开启其他加密套件。
  3. 确认当前的ipmi版本,当前的ipmi工具版本为1.18.24,加密套件为-C 17;

问题原因

默认情况下,ipmitool低版本情况下默认使用 -C 3,ipmitool 在1.8.18及以后得版本中使用的是-C 17;如果ipmi命令中没有-C 17,则ipmi客户端与BMC在建立IPMIv2/RMCP+会话时,无法协商出一个共同支持的加密套件(no matching cipher suite)。

解决方案

  1. 确认当前的BMC是否支持-C 17 的cipher suite; 具体查看和修改方法如下: postman调用get接口/redfish/v1/Managers/1/SecurityService查询下图标红的部分是否为true,不是true则需要调用/redfish/v1/Managers/1/SecurityService的patch接口进行修改,具体参见如下截图:
  2. redfish接口修改完毕后,ipmi命令中加上 -C 17 参数再下发,查看命令是否下发后报错为no matching cipher suite即可。