今天准备给 iDRAC 喂个SSL证书,前面都是踩坑部分,需要丝滑操作的拉到最后。

首先是,吧“服务器证书”与“自签名证书”搞混了。

Web 上,在服务器证书内给了三个选项,一个生成CSR、一个上传、一个下载。

其实我刚开始是试了一下的,先尝试传了 CER/CRT后缀的 PEM BASE64格式,后来有尝试了下PFX,并且尝试带私钥和不带私钥,带CA和不带CA,均失败。

后来就想着,估计这个是给内部CER生成的证书上传的,事实上确实是这样。

后来就试了下他的自签名证书,先投喂个RSA的证书,这里到很明确,要求你喂PFX,有口令的提供口令。成功,重启,Duang,证书错误。

这个情况实际上是它用了可以证明远程计算机身份的,也就是可以证明域名名称等的证书,来作为颁发CA,签发了下级证书,这当然不行啦。

(单个看没问题,实际上有大问题)

而且由于我域名做了HSTS Preload,就直接锁外头了,只能先重置了。

好,那就不是用自定义证书签名传。

反复测试那个服务器证书上传,就是传不上去,很迷,由于证书都是通配符签好的,也不可能按他那个CSR提交。

经过一番手册摸索,发现可以通过 racadm 工具传,可以在Support里搜索 “Dell EMC OpenManage DRAC Tools, includes Racadm” 下载。

在截稿时最新版本:https://www.dell.com/support/home/en-au/drivers/driversdetails?driverid=9dd9y

解压安装一把梭,我手动CD过去了,后来发现他自己加到了PATH,可以随地用。

按照 手册 看,可以使用命令上传:

racadm -r 192.168.0.120 -u root -p calvin sslcertupload -t 1 -f cert.cer

(这个涉及文件操作的,只能用客户端,不能走SSH)

然后你会发现,不行,报:ERROR: An invalid certificate is uploaded.。

然后我又双叒叕尝试各种删减,拼接,还有能谷歌到的例如删除多余空行啥的,都不灵。

直到找到篇 讨论,提到了Wilcard SSL导入的问题,欸,虽然他是 iDRAC6,但也试试看。他是直接用命令设置了密钥长度为2048,在改之前,就先看下我原来是多少:

racadm -r 192.168.0.120 -u root -p calvin getconfig -g cfgRacSecurity

欸,一看,确实命令版本比较老,即将 deprecated 的,但是一看我原来就是 2048 啊。

不管了,先设了,看到一个Country是US,也顺手改成CN了,反正无害。

racadm -r 192.168.0.120 -u root -p calvin config -g cfgRacSecurity -o cfgRacSecCsrKeySize 2048
racadm.exe -r 192.168.0.120 -u root -p calvin config -g cfgRacSecurity -o cfgRacSecCsrCountryCode CN

一波操作,发现重点可能是得先传Key,经过几波测试发现不管你之前是怎么改,如果不先传Key,直接传证书就是Invalid,先传Key就Success了。

到这时,我还是觉着iDRAC Web上给的设置也很详细,之前还看到可以在Web上设置加密套件,就很方便。又因为前面更新了各种Firmware,而且都是2020年5月的新版本,基于其他服务都表现的很丝滑的情况,我又觉得我又行了,就默认他支持ECC了,这次先喂了个ECC证书:

racadm -r 192.168.0.120 -u root -p calvin sslkeyupload -t 1 -f PRPR_MAIN_ECC.key
racadm -r 192.168.0.120 -u root -p calvin sslcertupload -t 1 -f PRPR_MAIN_ECC.cer
可以发现,如果不先传Key,就不灵,啊,早该试试的。

一波操作Success后,已经可以在Web里看到上传的确实是服务器证书,而且是ECC的,正常识别,喜。但重启还未生效。

好,重启,欸,racadm racreset 居然不好使了,提示:“ERROR: A firmware update is currently in progress. Unable to reset the RAC at this time.”

这又是什么谜之Bug,就先不管了,到Web里也可以重启,能重启就问题不大:

Web秒返回正在重设,为了避免失败,长Ping看看确实重启了。

重启完,Duang,Web就挂了 🙂

测试以下,Ping正常,tcping正常,tcping -h 80 端口 (HTTP模式) 正常,tcping -h 443 端口 (HTTP模式) 挂了.

那应该是不支持ECC证书了,之前挂掉跑到机器接上Bios重置,经过手册查阅了一波,可以优雅一点,通过SSH连接,然后执行:

racadm sslresetcfg

如果你之前习惯了本地或远程的racadm.exe客户端之类的,那不好使,因为racadm.exe实际上是要走HTTPS上的API。

SSL配置reset完了重启,如果你卡在什么Firmware更新态,那就只能上机去Reset或者长按面板上物理Info按钮(新操作Get)。

这次稳点,RSA一把梭,好,重启,妥了!

结尾再补一个,如果你之前传了自签名的证书想删,还可以用:

这个可以删除自签名,或者LDAP的证书(没有记错的话)

反正坑踩好了,最终也成了,iDRAC可玩性还是很高的,比以前IPMI来说的话,很实用,包括可以直接更新各种Firmware(可以分包下载,也可以下载一个打包,甚至可以直接传exe上去自动识别解包,能升级的模块也挺多,包括电源、网络卡固件等,我想想之后要不要再水一水),还有点名表扬下HTML5的Console(超微等也带),甚至可以纯Web方式挂载客户端本地ISO,而且还支持VNC服务器,Redfish等等,通用操作很多,不像以前JAVA App,兼容差,还挑版本。看了下iDRAC9 UI更有现代H5风格了(最近刚好试了下Azure,串味了)


眼里有远方,心中有阳光,脚下有力量