KVM集成
修订记录
| openUBMC版本号 | 修订日期 | 修订内容 |
|---|---|---|
| 25.06 | 2025/06/26 | 初稿,新增命令详情 |
BMC支持浏览器地址URL集成KVM功能,为保证系统正常运行,需要满足运行环境要求、并按照相关步骤完成开发。
环境要求
不同BMC版本存在差异,请以具体版本支持情况为准:
| 运行环境 | 配置要求 |
|---|---|
| 操作系统 | Windows XP 32位 |
| Windows 7 32位/64位 | |
| Windows 8 32位/64位 | |
| Windows Server 2008 R2 64位 | |
| Windows Server 2012 64位 | |
| Redhat 4.3 64位 | |
| Redhat 6.0 64位 | |
| Mac OS X v10.7 | |
| 浏览器 | Internet Explorer 8.0/10.0(仅适用于Windows操作系统),其中Internet Explorer 10.0不支持Windows XP |
| Mozilla Firefox 9.0/23.0 | |
| Chrome 13.0/31.0(仅适用于Windows操作系统) | |
| Safari 5.1(仅适用于MAC操作系统) | |
| Java运行环境 | JRE 1.6.0 U25/1.7.0 U40 |
注意说明
- KVM集成功能适用华为支持KVM功能的服务器。
- 由于客户有可能使用华为多种服务器、多个版本,部分版本服务器可能不支持此调用方式,可能存在兼容性问题。
- 考虑到JAR包的版本配套问题,集成时不建议在本地缓存JAR包,而应该每次打开远程控制台时从服务器BMC下载JAR包(在打开remote_access.asp页面时会自动下载)。
Web 集成
不加密的情况下URL登陆KVM
首先设置KVM为非加密状态
设置KVM的加密状态必须要管理员权限。可以在BMC的web上设置,也可以用IPMITool设置,ipmi的设置关闭加密命令:
bashipmitool -I lanplus -U root -P <Password> -H 192.168.2.100 raw 0x30 0x94 0xdb 0x07 0x00 0x21 0x02 0x00 0x00 0x01 0x00参数说明:
-I lan:表示通过网络访问,-I lanplus为加密,lan无加密功能-H 192.168.2.100:BMC的IP地址,此处根据实际情况填写-U root:BMC本地用户名,此处根据实际情况填写-P <Password>:BMC用户密码,此处根据实际情况填写
不是红色字体的部分是头部信息(一般无须修改),红色字体是设置KVM的加密状态:
0x00是非加密状态0x01是加密状态
通过IPMITool设置识别ID
为防止非法用户通过本地KVM控制台连接BMC,并使用KVM功能,BMC需要根据用户识别ID确认用户身份,通过IPMITool工具可以设置识别ID,有两条命令都可以设置ID,使用时只要发送其中任意一种设置命令来设置识别ID即可:
第一种命令:
bashipmitool -I lanplus -H 192.168.2.100 -U root -P <Password> raw 0x30 0x93 0xdb 0x07 0x00 0x04 0x00 0x0 0x0 0x0 0x3 0x72 0x6f 0x6f 0x74 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0参数说明:
-I lan:表示通过网络访问,-I lanplus为加密,lan无加密功能-H 192.168.2.100:BMC的IP地址,此处根据实际情况填写-U root:BMC本地用户名,此处根据实际情况填写-P <Password>:BMC用户密码,此处根据实际情况填写raw 0x30 0x93 0xdb 0x07 0x00 0x04 0x00 0x0 0x0 0x0 0x3 0x72 0x6f 0x6f 0x74 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0:红色字体分成三部分- 第一部分:_红色部分前面的
0x0 0x0 0x0 0x3为识别ID号,小端格式,KVM与控制台通信使用,识别ID的有效时间为2分钟,验证一次后立即失效 - 第二部分:_后面16字节
0x72 0x6f 0x6f 0x74 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0为用户名 - 第三部分:_是最后一个字节代表是用共享模式打开还是独占模式打开KVM
0x00:代表共享模式0x01:代表独占模式
- 第一部分:_红色部分前面的
第二种命令:
bashipmitool -I lanplus -H 192.168.2.100 -U root -P <Password> raw 0x30 0x94 0xdb 0x07 0x00 0x21 0x06 0x00 0x00 0x37 0x00 0x24 0x00 0x00 0x00 0x03 0x06 0xBD 0x43 0x29 0x77 0x3F 0xC3 0x34 0x36 0x75 0x96 0x4B 0x67 0xEE 0x72 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x72 0x6f 0x6f 0x74 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00参数说明:
-I lan:表示通过网络访问,-I lanplus为加密,lan无加密功能-H 192.168.2.100:BMC的IP地址,此处根据实际情况填写-U root:BMC本地用户名,此处根据实际情况填写-P root:BMC用户密码,此处根据实际情况填写raw 0x30 0x94 0xdb 0x07 0x00 0x21 0x06 0x00 0x00 0x37 0x00 0x24 0x00 0x00 0x00 0x03 0x06 0xBD 0x43 0x29 0x77 0x3F 0xC3 0x34 0x36 0x75 0x96 0x4B 0x67 0xEE 0x72 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x72 0x6f 0x6f 0x74 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00:不是红色字体的部分是头部信息(一般无须修改),红色字体分成4部分第一部分:_红色部分前面的
0x0 0x0 0x0 0x3为识别ID号,小端格式。识别ID的有效时间为2分钟,登陆一次后直接失效。第二部分:_
0x0 0x0 0x0 0x3后面的32个字节0x06 0xBD 0x43 0x29 0x77 0x3F 0xC3 0x34 0x36 0x75 0x96 0x4B 0x67 0xEE 0x72 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83是加密方式打开的时候会用到,非加密状态下为无效字段,在非加密的状态下可以随意赋值
第三部分:_加密字段的后面的16个字节是用户名
0x72 0x6f 0x6f 0x74 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00第四部分:_是最后一个字节代表是用共享模式打开还是独占模式打开KVM
0x00:代表共享模式0x01:代表独占模式
调用相应的URL(Uniform Resource Locator),URL格式如下:
https:// 192.168.2.100/remote_access.asp?authParam=3&lp=en&openWay=html5其中,URL红色字体表示可根据当前的实际情况进行更改的参数。
参数说明:
192.168.2.100:表示需要访问的BMC的IP地址,可根据实际情况填写authParam:表示之前通过IPMITool设置的识别ID,authParam=3这个3是0x00 0x00 0x00 0x03转成10进制所得注:此处ID号只支持十进制输入
lp:表示当前使用的语言,是中文或者英文,中文参数值注:lp=cn表示中文,lp=en表示英文
openWay:可选参数,表示通过"html5"或"java"方式打开KVM,默认"java"
加密的情况下URL登陆KVM
首先设置KVM为加密状态
设置KVM的加密必须要管理员权限。可以在BMC的web上设置,也可以用IPMITool设置,ipmi的设置开启加密命令:
bashipmitool -I lanplus -U root -P <Password> -H 192.168.2.100 raw 0x30 0x94 0xdb 0x07 0x00 0x21 0x02 0x00 0x00 0x01 0x01参数说明:
-I lan:表示通过网络访问,-I lanplus为加密,lan无加密功能-H 192.168.2.100:BMC的IP地址,此处根据实际情况填写-U root:BMC本地用户名,此处根据实际情况填写-P <Password>:BMC用户密码,此处根据实际情况填写
不是红色字体的部分是头部信息(一般无须修改),红色字体是设置KVM的加密状态:
0x00是非加密状态0x01是加密状态
为防止非法用户通过本地KVM控制台连接BMC,并使用KVM功能,BMC需要根据用户识别ID确认用户身份,通过IPMITool工具可以设置识别ID
bashipmitool -I lanplus -H 192.168.2.100 -U root -P <Password> raw 0x30 0x94 0xdb 0x07 0x00 0x21 0x06 0x00 0x00 0x37 0x00 0x24 0x00 0x00 0x00 0x03 0x06 0xBD 0x43 0x29 0x77 0x3F 0xC3 0x34 0x36 0x75 0x96 0x4B 0x67 0xEE 0x72 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x72 0x6f 0x6f 0x74 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00参数说明:
-I lan:表示通过网络访问,-I lanplus为加密,lan无加密功能-H 192.168.2.100:BMC的IP地址,此处根据实际情况填写-U root:BMC本地用户名,此处根据实际情况填写-P root:BMC的root用户密码,此处根据实际情况填写raw 0x30 0x94 0xdb 0x07 0x00 0x21 0x06 0x00 0x00 0x37 0x00 0x24 0x00 0x00 0x00 0x03 0x06 0xBD 0x43 0x29 0x77 0x3F 0xC3 0x34 0x36 0x75 0x96 0x4B 0x67 0xEE 0x72 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x72 0x6f 0x6f 0x74 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00:不是红色字体的部分是头部信息(一般无须修改),红色字体分成3部分第一部分:_红色部分前段的
0x00 0x00 0x00 0x03 0x06 0xBD 0x43 0x29 0x77 0x3F 0xC3 0x34 0x36 0x75 0x96 0x4B 0x67 0xEE 0x72 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83为识别ID号。识别ID的有效时间为2分钟,登陆一次后直接失效。第二部分:_ID后面的16个字节是用户名
0x72 0x6f 0x6f 0x74 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00第三部分:_是最后一个字节代表是用共享模式打开还是独占模式打开KVM
0x00:代表共享模式0x01:代表独占模式
KVM与控制台通信使用,识别ID的有效时间为2分钟,登陆一次后直接失效。
调用相应的URL(Uniform Resource Locator),URL格式如下:
https://192.168.2.100/remote_access.asp?authParam=0000000306BD4329773FC3343675964B67EE728383838383838383838383838383838383&lp=en&openWay=html5其中,URL红色字体表示可根据当前的实际情况进行更改的参数。其中参数说明:
192.168.2.100:表示需要访问的BMC的IP地址,可根据实际情况填写authParam:表示之前通过IPMITool设置的识别ID,authParam=0000000306BD4329773FC3343675964B67EE728383838383838383838383838383838383后面参数是识别ID0x00 0x00 0x00 0x03 0x06 0xBD 0x43 0x29 0x77 0x3F 0xC3 0x34 0x36 0x75 0x96 0x4B 0x67 0xEE 0x72 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83直接转换过来的注:此处ID号只支持十六进制输入
lp:表示当前使用的语言,是中文或者英文,中文参数值注:lp=cn表示中文,lp=en表示英文
openWay:可选参数,表示通过"html5"或"java"方式打开KVM,默认"java"
通过token连接Web首页或KVM
申请token
请求
POST/sso HTTP/1.1
参数:username=xxx,password=xxx,logtype=xxx,function=addtoken
参数说明
- username:用户名,最大长度为320个字符
- password:密码,最大长度为20个字符
- logtype:登录用户类型
- local:本地用户
- ldap:LDAP用户
- function:执行动作
token响应
响应
{ret:val, token:val}
参数说明
- ret:返回码,val取值如下
- 0:成功
- 131:用户被锁定
- 136:用户无权限
- 137:密码过期
- 144:登录受限
- 其他:用户名或密码错误
- token:临时验证凭证,固定长度31个字符。登录成功,val为token值,否则val为" "
登陆WEB首页或KVM控制台
请求
URL=https://ip[:port]/sso?token=xxx[&redirect=xxx][&kvmmode=xxx]
参数说明
- ip:需要访问的BMC的IP地址,可根据实际情况填写
- port(可选参数):需要访问的BMC的http服务端口,可根据实际情况填写
- token:临时验证凭证
- redirect(可选参数):重定向目标
- index: WEB首页
- console: 远程KVM控制台
- 不输入 "redirect=xxx" 时,默认为index
- kvmmode(可选参数):KVM会话模式
- share:共享模式
- dedicate:独占模式
- 不输入 "kvmmode=xxx" 时,默认为dedicate
通过口令登录失败的情况
| 登录失败情况 | 处理 |
|---|---|
| 当前在线用户数(WEB/KVM)达到支持的最大连接数 | 跳转到WEB登录界面,提示 "已达最大会话数" |
| token失效、无权限、其他错误 | 跳转到WEB登录界面,提示"登录失败,请重试" |