使用命令行验证和解决过期的 vCenter Server 证书

验证证书过期日期

  1. 检查单点登录令牌签名 (STS) 证书,请参见 在 vCenter Server 上检查过期的 STS 证书
  2. 运行以下命令以查看环境证书的状态":
  • 在 vCenter Appliance 中运行以下命令:

for store in $(/usr/lib/vmware-vmafd/bin/vecs-cli store list | grep -v TRUSTED_ROOT_CRLS); do echo "[*] Store :" $store; /usr/lib/vmware-vmafd/bin/vecs-cli entry list --store $store --text | grep -ie "Alias" -ie "Not After";done;

  • 在 Windows vCenter Server 中运行:

$VCInstallHome = [System.Environment]::ExpandEnvironmentVariables("%VMWARE_CIS_HOME%");foreach ($STORE in &"$VCInstallHome\vmafdd\vecs-cli" store list){Write-host STORE: $STORE;&"$VCInstallHome\vmafdd\vecs-cli" entry list --store $STORE --text | findstr /C:"Alias" /C:"Not After"}
 

将出现类似于以下内容的输出:

get_attachment_content?uniqueFileId=1512277148881

  1. 确保日期是将来日期


解决过期证书

注意: 

  • 备份或创建虚拟机快照,然后再继续。
  • 建议同时关闭所有连接的、具有嵌入式 PSC 的外部 Platform Services Controllers/vCenter 的电源,并生成每个链接节点虚拟机的快照。


自定义证书

如果受信任的根证书或 SSL 证书已过期,建议系统使用默认 VMware Certificate Authority 证书重新运行,然后重新应用自定义证书,请参见 使用自定义证书颁发机构签名证书复制 vSphere 6.x /7.x 计算机 SSL 证书


STS 证书

对于具有嵌入式 PSC 或外部 PSC 的 vCenter,请仅在每个链接节点系统的一个节点上执行以下操作:"Signing certificate is not valid" error in VCSA 6.5.x/6.7.x and vCenter Server 7.0.x


受信任的根证书

  • 对于具有嵌入式 PSC 或外部 PSC 的 vCenter,在链接节点系统中执行以下操作一次:根据 How to use vSphere Certificate Manager to Replace SSL Certificates运行 certificate-manager,并使用选项 4 生成新的根证书并替换所有证书。
  • 在链接系统中的所有剩余 vCenter 和 PSC 上,执行以下操作:
  1. 运行 certificate-manager 选项 3 以替换计算机 SSL 证书
  2. 运行 certificate-manager 选项 6 以替换解决方案用户证书


计算机 SSL 证书

在具有此过期证书的每个节点(vCenter、具有嵌入式 PSC 或外部 PSC 的 vCenter)上,运行 certificate-manager 选项 3 以替换 SSL 证书。


解决方案用户证书

如果其中一个或多个已过期,则在每个节点(具有嵌入式 PSC 或外部 PSC 的 vCenter)上,运行 certificate-manager 选项 6 以替换解决方案用户证书。

注意:如果 vCenter 的 Certificate Manager 选项 3 或 6 失败,您可以尝试使用选项 8 重置所有证书。 

 

更新计算机 SSL 证书或生成证书签名请求的过程:

注意:在 vSphere vCenter 7.x/8.x 的用户界面中,通过转到“计算机 SSL 证书”更新计算机 SSL 证书或生成证书签名请求

  • 菜单 > 管理 > 证书 > 证书管理

在 Machine SSL Certificate 部分中,选择 Actions 下拉菜单。


注意在基于 Windows 的 vCenter 中,如果启用了用户访问控制,请以管理员身份登录或以 “” 身份登录命令提示符 (cmd)。Run as Administrator

         在执行此活动之前拍摄 vCenter 的快照。如果 vCenter 处于链接模式,请同时拍摄所有链接 vCenter 的脱机快照。

 

  • 要启动 vSphere Certificate Manager,请执行以下命令:
    • vCenter Server 设备:

/usr/lib/vmware-vmca/bin/certificate-manager

    • vCenter Server(基于 Windows)

C:\Program Files\VMware\vCenter Server\vmcad> Certificate-manager.bat

 

  • 如果 vCenter 上的 PNID 未知,则可以分别使用以下命令获取 Windows 或 VCSA 的 PNID:
    • vCenter Server 设备:
/usr/lib/vmware-vmafd/bin/vmafd-cli get-pnid --server-name localhost
    • vCenter Server(基于 Windows)

"C:\Program Files\VMware\vCenter Server\vmafdd"\vmafd-cli get-pnid --server-name localhost

 
  • 如果默认 SSO 域未知,因为它已从默认值 - .可以分别使用此命令为 Windows 或 VCSA 获取它。vsphere.local
    • vCenter Server 设备:
/usr/lib/vmware-vmafd/bin/vmafd-cli get-domain-name --server-name localhost
    • vCenter Server(基于 Windows)

"C:\Program Files\VMware\vCenter Server\vmafdd"\vmafd-cli get-domain-name --server-name localhost

 

  • 运行 certificate-manager 命令时,屏幕会显示 8 个选项,分别如 Windows 和设备屏幕截图所示。


    get_attachment_content?uniqueFileId=1512261426340
    get_attachment_content?uniqueFileId=1729852876603

选项的详细信息:

选择# 细节 所需信息
1 将计算机 SSL 证书替换为自定义 CA 证书
计算机 SSL 证书提供了一个子选项,用于为计算机 SSL 证书生成证书签名请求和密钥。
  • administrator@vsphere.local密码。
  • 计算机证书的自定义证书和密钥的路径。
  • VMCA 根的自定义证书的路径
2 将 VMCA 根证书替换为自定义 CA 签名证书,并替换所有证书。

此选项提供了一个子选项,用于为 VMCA 根签名证书生成证书签名请求和密钥。
  • administrator@vsphere.local密码

  • 配置 certool.cfg 文件(VMCA 在生成证书时使用)/usr/lib/vmware-vmca/share/config/certool.cfg

  • 根签名证书

  • 根签名密钥


可选信息:

是否需要将所有解决方案用户证书替换为自定义 CA?

  • 是:解决方案用户(vpxd、vpxd-extension、vsphere-webclient、计算机)的自定义证书和密钥的路径。

注: (可选)稍后使用选项 5 执行此步骤。

  • 否:VMCA 将使用提供的自定义 CA 签名证书为解决方案用户生成新的证书/密钥。

注: (可选)稍后使用选项 6 执行此步骤。

是否需要将计算机 SSL 证书替换为自定义 CA?

  • YES:计算机证书的自定义证书和密钥的路径。

注: (可选)稍后使用选项 1 执行此步骤。

  • 否:VMCA 将使用提供的自定义 CA 签名证书为计算机生成新的证书/密钥。

注: (可选)稍后使用选项 3 执行此步骤。

3 将计算机 SSL 证书替换为 VMCA 生成的证书
  • administrator@vsphere.local密码
  • 配置 certool.cfg 文件(VMCA 在生成证书时使用)
4 重新生成新的默认 VMCA 根证书并替换所有证书
  • administrator@vsphere.local密码
  • 配置 certool.cfg 文件(VMCA 在生成证书时使用)
5 将解决方案用户证书替换为自定义 CA 证书
  • administrator@vsphere.local密码
  • 自定义根 CA 证书的路径
  • vpxd 解决方案用户的自定义证书和密钥的路径
  • vpxd-extension 解决方案用户的自定义证书和密钥的路径
  • vSphere-webclient 解决方案用户的自定义证书和密钥的路径
  • 计算机解决方案用户的自定义证书和密钥的路径
  • 如果vCenter Server是7.0则为hvc和wcp解决方案用户的自定义证书和密钥的路径
6 将解决方案用户证书替换为 VMCA 生成的证书
  • administrator@vsphere.local密码
7 通过重新发布旧证书来还原上次执行的作
  • administrator@vsphere.local密码
8 重置所有证书
  • administrator@vsphere.local密码
  • 配置文件(VMCA 在生成证书时使用)certool.cfg



注 2:位于:certool.cfg

  • /usr/lib/vmware-vmca/share/config/certool.cfg
  • vCenter Server Appliance 和 Platform Services Controller Appliance(外部 PSC)中的配置文件位置:
    • vCenter Server 设备:/usr/lib/vmware-vmca/share/config/certool.cfg
    • 外部 Platform Service Controller 设备:/usr/lib/vmware-vmca/share/config/certool.cfg
  • 的默认配置应类似于以下屏幕截图:certool.cfg

    get_attachment_content?uniqueFileId=1758924527926
 

其他信息

注意: Certificate Manager 工具应以 root 用户身份运行,以便执行选项 6。

注意:目前,vCenter Server 仅与 VMCA 集成。vSphere Certificate Manager 和 VMCA 不能用于向任何其他产品颁发证书。
 
日志文件位置:
  • vSphere Certificate Manager 将文件存储在以下位置: certificate-manager.log
    • vCenter Server Appliance 6.x/7.x/8.x:/var/log/vmware/vmcad/certificate-manager.log
       
  • 该文件位于:
    vCenter Server Appliance 和 Platform Service Controler Appliance 中的配置文件位置:certool.cfg
    • vCenter Server 设备:/usr/lib/vmware-vmca/share/config/certool.cfg
    • Platform Service Controller 设备: /usr/lib/vmware-vmca/share/config/certool.cfg


影响/风险:

更改 vCenter Server 证书可能会影响互联产品,即:SRM、vSphere Replication、Horizon View 等。

文章细节

文章编号:
8
分类:
添加日期:
2025-04-29 10:19:42