不清楚账号密码,新增账户密码失败,还有其他方式能进入BMC

问题描述

客户退回的测试机,不清楚其修改后的账号密码,同时通过新增用户的方式也失败,请问还有什么手段可以进入BMC?

尝试过的解决方案

参考 BMC固件损坏时恢复环境指导 - 交流互助区 - openUBMC 论坛 执行
四、用户密码忘记了,OS使用ipmitool添加BMC账户test会有如下报错
image
BIOS下设置密码也失败


查询用户列表也是异常
image
期望:
1.什么操作会导致该异常情况?
2.是否还有除重新烧片的解决方案?

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

结论与建议

:white_check_mark: 结论回答您的两个问题:

  1. 什么操作会导致该异常情况?

    • 用户权限配置错误、安全管理组件异常、资源树损坏、IPMI命令权限受限、固件升级中断等原因均可能导致账户系统完全不可用。
    • 特别是“恢复出厂设置失败”或“账户策略资源加载失败”会直接引发Unknown (0x87)类错误。
  2. 是否还有除重新烧片的解决方案?

    • 有多种尝试性方案,包括:
      • 使用串口或CLP调试命令进入底层系统
      • 物理触发恢复出厂设置
      • 尝试默认账户或紧急账户
      • 检查SSH访问是否可用
    • 但若上述方法均失败,重新烧录BMC固件是唯一可靠的最终解决方案
点击此处查看详细分析解答

针对无法进入BMC的解决方案分析

根据您的问题描述,设备因未知账户密码且无法新增用户导致无法登录BMC系统。以下是基于知识库信息的综合分析和建议。

1. 异常情况的可能原因

(1) 用户权限配置异常

  • IPMI命令权限问题Unknown (0x87) 错误通常是由于用户权限不足或IPMI命令执行受限所致。文档中提到“BMC manufacture component”存在IPMI命令权限诊断问题,这可能是导致ipmitool user set nameuser list命令失败的根本原因。
  • 用户管理功能异常:从日志文件 iTestSmart_OpenUBMC问题反馈IPMI普通用户权限管理测试结果Fail_1691.json 可知,曾出现过IPMI普通用户权限管理测试失败的情况,说明系统可能存在已知的用户权限管理缺陷。

(2) 账户系统损坏或配置错误

  • 文档提到“资源树对象异常,导致获取AccountPolicy资源失败,web无法登录”,这种情况会导致整个用户认证系统失效。
  • 安全管理组件出现异常(如MD5校验失败、数据库损坏),也可能导致所有用户操作被拒绝。

2. 是否存在除重新烧片外的解决方案?

虽然“重新烧片”是最彻底的恢复方式(如搜索结果9所述),但仍存在其他非烧片恢复手段可以尝试:

:white_check_mark: 推荐尝试的替代方案

(1)使用默认/应急账户尝试登录

  • 部分BMC版本(如华为BMC)支持“紧急登录用户”配置,在特殊情况下可使用预设账户进入。
  • 检查是否存在默认账户如:
    • 用户名:Administrator / admin
    • 密码:尝试空密码或常见默认密码(如Admin@9000

:warning: 注意:部分版本中紧急用户下拉框显示为 [NULL],需手动输入。

(2)通过串口(Console)访问进行修复

  • 使用串口线连接BMC的调试端口(如Hi3093开发板上的PHY调试口),尝试获取底层Shell访问。
  • 若能进入命令行环境,可执行以下操作:
    # 查看当前用户状态
    ipmcget -d user
    # 尝试重置用户配置
    ipmcset -d user -v default configure
    

(3)利用出厂还原机制触发恢复

  • 物理按钮复位:部分设备支持通过面板上的“复位按钮”触发恢复出厂设置。
    • 搜索结果8中明确提到:“支持面板复位按钮BMC触发恢复出厂”,若设备具备此硬件功能,长按即可重置用户系统。
  • 强制重启并中断启动流程
    • 使用clp_commands调试命令进入底层控制台(参考结果9):
      reboot -f
      → 输入 clp_commands → 尝试进入维护模式
      

(4)检查SSH与Web接口状态

  • 尽管Web界面不可用,但SSH Access通常在Web失效时仍保持可用(如KG中SSH Access实体所述)。
  • 尝试通过SSH连接BMC IP地址(例如 192.168.2.100):
    ssh Administrator@192.168.2.100
    
    若成功连接,可尝试修复用户系统。

(5)使用BMC内置工具修复账户系统

  • 执行BMC本地命令收集诊断信息:
    # 收集完整日志
    ipmcget -d d
    
    日志将生成于 /tmp 目录下,可用于分析用户系统故障根源。

3. 根本性解决方案建议

方案 是否推荐 说明
重新刷写BMC固件(烧片) :white_check_mark: 强烈推荐 如搜索结果9所示,当Rsyslog等核心服务无法启动时,烧片TR5版本BMC固件是唯一可靠恢复方式。
通过资源协作接口恢复 :warning: 有条件支持 若系统支持FirmwareRestoreSupported=trueUpgradeResumeSupported=true(见评审文档1),则可在启动后自动恢复升级中断导致的问题。
修改出厂默认值 :cross_mark: 不适用 虽然理论上可通过修改account/manufacture/default_datas.lua重置默认值,但升级后通常不生效(见搜索结果2)。

结论与建议

:white_check_mark: 结论回答您的两个问题:

  1. 什么操作会导致该异常情况?

    • 用户权限配置错误、安全管理组件异常、资源树损坏、IPMI命令权限受限、固件升级中断等原因均可能导致账户系统完全不可用。
    • 特别是“恢复出厂设置失败”或“账户策略资源加载失败”会直接引发Unknown (0x87)类错误。
  2. 是否还有除重新烧片的解决方案?

    • 有多种尝试性方案,包括:
      • 使用串口或CLP调试命令进入底层系统
      • 物理触发恢复出厂设置
      • 尝试默认账户或紧急账户
      • 检查SSH访问是否可用
    • 但若上述方法均失败,重新烧录BMC固件是唯一可靠的最终解决方案

:wrench: 操作建议流程图

开始
 ↓
尝试 SSH 登录 (Administrator@BMC_IP)
 ↓ 是
成功?───→ 进入系统 → 修复用户配置
 ↓ 否
尝试串口 Console 登录
 ↓ 是
成功?───→ 进入维护模式 → 重置账户系统
 ↓ 否
检查是否有物理复位按钮
 ↓ 是
长按复位 → 触发恢复出厂设置
 ↓ 否
最终方案:烧录 TR5/Baseline 版本 BMC 固件

:pushpin: 提示:建议优先联系设备供应商或查阅具体机型的《BMC固件损坏时恢复环境指导》执行安全恢复流程。

返回码0x87指host侧管理员权限未使能,所以无法执行创建用户和查看用户列表操作

1 个赞

那这岂不是只能重新烧片解决,BMC进不去,BIOS和OS权限问题都改不了

是的,目前来看只能烧片了