记一次RD350X使用ipmitool重置BMC账号密码

前言

继昨天排查耗电情况后,CPU供电90多瓦,总电源200多瓦,剩下的不知道耗在哪里,故再次打算登录BMC控制台查看情况。

但是服务器买回来后BMC就没登录成功过,这用户名密码我也不知道...

使用联想的 BMC_reset 工具也可以重置,但是要重启进入DOS环境,而我不想影响服务运行

查找一番之后,打算来尝试以下 ipmitool

开始

安装ipmitool

我的是PVE系统(Debian),直接使用下面的命令安装

apt install ipmitool

装好后检查内核模块是否启用

root@pve:~/ipmitool-1.8.18# lsmod | grep ipmi
ipmi_ssif              36864  0
acpi_ipmi              20480  0
ipmi_si                73728  1
ipmi_devintf           20480  0
ipmi_msghandler       122880  4 ipmi_devintf,ipmi_si,acpi_ipmi,ipmi_ssif

可以看到关键的几个模块 ipmi_siipmi_devintfipmi_msghandler 都起来了。如果没起来的话用modprobe 模块名手动加载一下。

用户相关操作

ipmitool user <commands>
User Commands:
               summary      [<channel number>]
               list         [<channel number>]
               set name     <user id> <username>
               set password <user id> [<password> <16|20>]
               disable      <user id>
               enable       <user id>
               priv         <user id> <privilege level> [<channel number>]
                     Privilege levels:
                      * 0x1 - Callback
                      * 0x2 - User
                      * 0x3 - Operator
                      * 0x4 - Administrator
                      * 0x5 - OEM Proprietary
                      * 0xF - No Access

列出用户

列出channel 1的用户

root@pve:~# ipmitool user list 1
ID  Name             Callin  Link Auth  IPMI Msg   Channel Priv Limit
1                    false   false      true       ADMINISTRATOR
2                    true    false      false      NO ACCESS
3                    true    false      false      NO ACCESS
4                    true    false      false      NO ACCESS
5                    true    false      false      NO ACCESS
6                    true    false      false      NO ACCESS
7                    true    false      false      NO ACCESS
8                    true    false      false      NO ACCESS
9                    true    false      false      NO ACCESS
10                   true    false      false      NO ACCESS

修改用户名密码

# 修改用户名
ipmitool user set name <用户ID> <用户名>
# 修改密码
ipmitool user set password <用户ID> <密码>

启用账户

ipmitool user enable <用户ID>

设置用户权限

权限级别可以看上面的帮助信息,一般设置为4就是Administrator

ipmitool user privilege <用户ID> <权限级别> <channel_id>

设置通道访问控制

ipmitool channel setaccess <channel_id> <用户> link=<on|off> ipmi=<on|off> callin=<on|off> privilege=<权限级别>

实践

由于我这里1号用户无法查看与修改用户名,我也不知道用户名是什么,故打算配置并启用2号用户。

设置用户名和密码

设置2号用户名为user密码为password并启用。

ipmitool user set name 2 user
ipmitool user set password 2 password
ipmitool user enable 2

设置2号用户为管理员

ipmitool user privilege 2 4 1

但是我执行这条命令会报错,先跳过。下一步也可以设置权限。

root@pve:~# ipmitool user privilege 2 4 1
IPMI command failed: Invalid data field in request
Set Privilege Level command failed (user 2)

设置通道访问控制

这里可以多尝试几个通道,我刚开始只设置了通道1,结果无法登录Web控制台,提示无权限用户。

几个通道都设置后,就可以正常登录Web控制台了。

ipmitool channel setaccess 1 2 link=on ipmi=on callin=on privilege=4
ipmitool channel setaccess 2 2 link=on ipmi=on callin=on privilege=4
ipmitool channel setaccess 3 2 link=on ipmi=on callin=on privilege=4
ipmitool channel setaccess 4 2 link=on ipmi=on callin=on privilege=4

本文链接:

https://blog.nkxingxh.top/archives/488/
1 + 2 =
快来做第一个评论的人吧~