使用命令行验证和解决过期的 vCenter Server 证书
验证证书过期日期
- 检查单点登录令牌签名 (STS) 证书,请参见 在 vCenter Server 上检查过期的 STS 证书。
- 运行以下命令以查看环境证书的状态":
- 在 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"}
将出现类似于以下内容的输出:
- 确保日期是将来日期
解决过期证书
注意:
- 备份或创建虚拟机快照,然后再继续。
- 建议同时关闭所有连接的、具有嵌入式 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 上,执行以下操作:
- 运行 certificate-manager 选项 3 以替换计算机 SSL 证书
- 运行 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 和设备屏幕截图所示。
选项的详细信息:
选择# | 细节 | 所需信息 |
1 | 将计算机 SSL 证书替换为自定义 CA 证书 计算机 SSL 证书提供了一个子选项,用于为计算机 SSL 证书生成证书签名请求和密钥。 |
|
2 | 将 VMCA 根证书替换为自定义 CA 签名证书,并替换所有证书。 此选项提供了一个子选项,用于为 VMCA 根签名证书生成证书签名请求和密钥。 |
是否需要将所有解决方案用户证书替换为自定义 CA?
注: (可选)稍后使用选项 5 执行此步骤。
注: (可选)稍后使用选项 6 执行此步骤。 是否需要将计算机 SSL 证书替换为自定义 CA?
注: (可选)稍后使用选项 1 执行此步骤。
注: (可选)稍后使用选项 3 执行此步骤。 |
3 | 将计算机 SSL 证书替换为 VMCA 生成的证书 |
|
4 | 重新生成新的默认 VMCA 根证书并替换所有证书 |
|
5 | 将解决方案用户证书替换为自定义 CA 证书 |
|
6 | 将解决方案用户证书替换为 VMCA 生成的证书 |
|
7 | 通过重新发布旧证书来还原上次执行的作 |
|
8 | 重置所有证书 |
|
注 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
- vCenter Server 设备:
- 的默认配置应类似于以下屏幕截图:
certool.cfg
其他信息
注意: Certificate Manager 工具应以 root 用户身份运行,以便执行选项 6。
- 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 6.x/7.x/8.x:
- 该文件位于:
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 设备:
影响/风险:
更改 vCenter Server 证书可能会影响互联产品,即:SRM、vSphere Replication、Horizon View 等。