从BMC用https协议导出日志文件到远端,报认证错误。

一、测试环境
硬件:S920X20
BMC版本:25.06
二、测试步骤

  1. 使用postman,通过redfish接口用https协议将BMC日志文件导出到远端,执行成功。
  2. 导出日志失败,查看一键收集日志中的app.log文件,报https服务器认证错误。
  3. 查看https服务器的日志,无认证相关报错:
  4. 并且https服务器使用的证书和BMC使用的证书是一样的。

    BMC使用的证书是由bmc.crt和bmc.key用“openssl pkcs12 -export -out bmc.pfx -inkey bmc.key -in bmc.crt”生成的。

请确认是否问题;如不是问题,请提供能够正确执行用https协议导出日志文件到远端的方法。

@wangjlau_dc 请先确认以下几点:

  1. 从上面的报错日志不难分析出来,https 协议的日志收集传输使用的是 curl 工具,并且是需要证书;当前 curl 使用证书时报错 60,需要先搞清楚这个报错错误码是什么意思?
  2. 在 https 上使用的 bmc.crt/bmc.key/bmc.pfx 三个证书要明确是什么用途,是否可以用作 https 的服务端身份认证校验的用途?对于证书的用途以及信息查看如果有不了解,可以自己通过搜索引擎(如:google 等)查询相应的命令;对于 服务端身份证书认证 想要更多了解,请咨询 @lwj

@lwj 您好,请教一下https服务器ssl证书的配置,使得BMC能够信任这个服务器。

bmc需要导入远程服务器SSL证书对应的CA证书,请参考如下解决方案排查:

  1. 系统 CA 证书库缺失或过旧:本地系统没有包含该服务器证书的根证书授权机构(CA)信息。

  2. 自签名证书:目标服务器使用了自签名证书,而非由受信任的机构颁发。

  3. 证书链不完整:服务器未正确配置中间证书(Intermediate Certificate)。

  4. 系统时间错误:本地系统时间不准确,导致 curl 认为证书尚未生效或已过期。

测试步骤:

  1. BMC导入CA证书;
  2. https服务器:
    (1)解决证书验证问题;
    (2)解决服务器认证问题;
    (3)通过 CGI 脚本接收上传数据并保存为文件。

由以上步骤可知,BMC日志文件通过https服务上传到远端,略显繁琐。请问此功能的应用场景是什么?

这就是ssl证书身份校验的标准流程

或者可以选择设置 /redfish/v1/Managers/:managerid/SecurityService HttpsTransferCertVerification属性为false,跳过ssl证书校验,会降低安全性

需要BMC通过https服务上传日志文件的需求,满足什么样的场景呢,有具体的使用场景吗?

通过BMC访问远程HTTPS服务器,这个场景是一个通用的场景。可以支持BMC上传或者下载文件。比如机房有统一的日志文件管理服务器,需要从BMC收集所有日志到一台HTTPS服务器。此类操作主要为机机操作,如网管批量管理BMC设计。
你提到的步骤,包括BMC导入CA证书、HTTPS配置身份证书,是一个标准的安全通信流程,目的是为了让BMC能认出HTTPS服务器没有被仿冒。

2 个赞