ipmitool控制台连接

密码套件(Cipher Suites)不一致

使用IPMI(智能平台管理接口) 时,通过 ipmitool 可以连接到控制台:

通过IPMI访问控制台
ipmitool -I lanplus -H IP  -U username -P password sol activate

但是你可能会遇到如下报错:

通过IPMI访问控制台提示获取通道密码套件(Channel Cipher Suites)
Unable to Get Channel Cipher Suites
[SOL Session operational.  Use ~? for help]

这个报错是因为 ipmitool 版本和服务器端BMC控制器密码机制差异导致的,需要在命令行添加一个 -C 3 参数,将默认密码版本回退到3(之前版本),也就是

通过IPMI访问控制台使用旧版本chiper suites(3)
ipmitool -I lanplus -C 3 -H IP  -U username -P password sol activate

这个chiper suites支持其实可以通过检查:

ipmitool lan print 输出 channel 2
ipmitool lan print 2

输出显示支持 chiper suites:

ipmitool lan print 输出 channel 2 内容
Set in Progress         : Set Complete
Auth Type Support       :
Auth Type Enable        : Callback :
                        : User     :
                        : Operator :
                        : Admin    :
                        : OEM      :
IP Address Source       : Static Address
IP Address              : 192.168.7.254
Subnet Mask             : 255.255.255.0
MAC Address             : 94:57:a5:5e:7f:16
SNMP Community String   :
BMC ARP Control         : ARP Responses Enabled, Gratuitous ARP Disabled
Default Gateway IP      : 192.168.6.11
802.1q VLAN ID          : Disabled
802.1q VLAN Priority    : 0
RMCP+ Cipher Suites     : 0,1,2,3
Cipher Suite Priv Max   : XuuaXXXXXXXXXXX
                        :     X=Cipher Suite Unused
                        :     c=CALLBACK
                        :     u=USER
                        :     o=OPERATOR
                        :     a=ADMIN
                        :     O=OEM
Bad Password Threshold  : Not Available

控制台无输出

我的 HPE ProLiant DL360 Gen9服务器 在连接了控制台之后( sol activate ):

通过IPMI访问控制台使用旧版本chiper suites(3)
ipmitool -I lanplus -C 3 -H IP  -U username -P password sol activate

我最初以为是我的BIOS设置问题(没有启用 console redirection ),但是实际上并不是,因为我发现当我执行了上述 sol activiate 指令之后,并没有连接报错,而且我发现服务器重启时,这个会话连接实际上能够输出服务器启动的BIOS信息,这说明控制台正常。而到了 Ubuntu Linux 启动的 GRUB 界面时,则没有输出(不显示GRUB选择启动的交互界面)。也就是说,真正的问题是Linux的控制台重定向没有配置

解决方法: Ubuntu 串口控制台

ssh会话和推出IPMI SOL

当使用 sol activate 连接到控制台,要断开IPMI SOL时,我们会使用 ~. 。但是有一个问题,如果是在 ssh 连接中使用 ~. 退出IPMNI SOL连接,会导致SSH会话断开。

解决的方法是使用 ~~. (也就是连输两个 ~ )

原因是 ~ 也是 ssh 的关闭会话请求。当使用两个 ~ 时,则ssh会进行转义(默认转义符号是 ~ ),这样就会确保 ~ 不被ssh接收,而将第二个 ~ (也就是一个 ~ )转发到远程系统,也就是被IPMI控制台接收到。

参考