vCenter证书有效期详解 | vCenter证书过期的解决方法集合

vCenter证书有效期详解 | vCenter证书过期的解决方法集合

本文旨在帮助大家了解 vCenter各版本证书的类型、有效期以及当证书即将过期时如何应对。希望能为 vCenter Server 用户在管理和维护证书时提供一定的帮助。

vCenter Server 使用的证书类型

vCenter Server 中包含多种证书,用于保障组件间的验证和加密通信。通常,vSphere 通过 VMware Certificate Authority (VMCA) 自动置备证书,证书存储在 VMware Endpoint Certificate Store (VECS) 中。vCenter 支持自签名证书来替换 VMCA 置备的 SSL 证书,但这会显著增加维护复杂度,因此除非有严格的内控要求,建议使用 VMCA 以简化管理。

vCenter Server 证书类型概览:

证书类型VECS 存储库备注
根证书TRUSTED_ROOTS包含所有信任的根证书。
计算机 SSL 证书MACHINE_SSL_CERT用于计算机的安全 SSL 连接。
解决方案用户证书machine、vpxd、vpxd-extension 等用于 SAML 令牌交换,与 SSL 证书无关。
STS 证书STS安全令牌服务签名证书(更新STS证书会比较特别和麻烦)

可以通过以下命令具体查看每类证书的过期时间

for i in $(/usr/lib/vmware-vmafd/bin/vecs-cli store list); do echo STORE $i; /usr/lib/vmware-vmafd/bin/vecs-cli entry list --store $i --text | egrep "Alias|Not After"; done

vCenter各版本证书有效期

安装 vCenter Server 后,VMCA 默认置备证书,不同类型证书的有效期各异。常见版本证书的有效期如下所示:

vCenter Server 版本根证书计算机 SSL 证书解决方案用户证书STS 证书
6.5 – 6.7 U3F10 年10 年10 年10 年
6.5 U2 – 6.7 U3G10 年2 年2 年10 年
7.0 及更高10 年2 年10 年(*)10 年

vCenter证书过期的解决办法

如果还可以进入vCenter的网页管理界面的话,进入vCenter的证书管理界面:

  1. 登录 vCenter Server 用户界面。
  2. 导航至 菜单 > 管理 > 证书 > 证书管理
  3. Machine SSL 证书 部分,选择 操作 下拉菜单,以更新或生成 SSL 证书。

如果已经过期,旧只能通过VCSA自带的vSphere Certificate Manager作证书更新

用vSphere Certificate Manager更新过期的证书

在 vCenter Server Appliance 上,通过以下命令启动证书管理器:

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

运行此命令后,界面将显示八个选项:

各选项的详细说明

选项编号说明需要的信息
1使用自定义 CA 证书替换 Machine SSL 证书。此选项提供生成 Machine SSL 证书的证书签名请求(CSR)和密钥的子选项。administrator@vsphere.local 密码
– 自定义 Machine SSL 证书和密钥路径
– 自定义 VMCA 根证书路径
2使用自定义 CA 签名证书替换 VMCA 根证书,并替换所有证书。此选项提供生成 VMCA 根签名证书的 CSR 和密钥的子选项。administrator@vsphere.local 密码
– 配置 /usr/lib/vmware-vmca/share/config/certool.cfg 文件(用于 VMCA 生成证书)
– 根签名证书和根签名密钥
– 可选:是否需要用自定义 CA 替换所有解决方案用户证书?
– 是:提供所有解决方案用户(vpxd、vpxd-extension、vsphere-webclient、machine)的自定义证书和密钥路径
– 否:VMCA 使用自定义 CA 签名证书生成新的解决方案用户证书/密钥
3使用 VMCA 生成的证书替换 Machine SSL 证书administrator@vsphere.local 密码
– 配置 certool.cfg 文件
4重新生成新的默认 VMCA 根证书,并替换所有证书administrator@vsphere.local 密码
– 配置 certool.cfg 文件
5使用自定义 CA 证书替换解决方案用户证书administrator@vsphere.local 密码
– 自定义根 CA 证书路径
– vpxd 解决方案用户的自定义证书和密钥路径
– vpxd-extension 解决方案用户的自定义证书和密钥路径
– vSphere-webclient 解决方案用户的自定义证书和密钥路径
– machine 解决方案用户的自定义证书和密钥路径
– 若 vCenter Server 版本为 7.0,还需提供 hvc 和 wcp 解决方案用户的自定义证书和密钥路径
6使用 VMCA 生成的证书替换解决方案用户证书administrator@vsphere.local 密码
7通过重新发布旧证书撤销上次执行的操作administrator@vsphere.local 密码
8重置所有证书administrator@vsphere.local 密码
– 配置 certool.cfg 文件

通过上述步骤,你就可以根据需要更新、生成或替换 vCenter 的 SSL 证书,以确保系统的安全性和证书的有效性。


关于STS证书更新

STS证书是个特例。

STS证书在vSphere 客户端中并不会总是发出过期警告(特别是在早期 vSphere 版本)

STS 证书是需要通过 CLI 命令行来检查状态并执行更新。

详情请见:

主要是要用VMware官方做好的脚本去更新STS证书:

https://knowledge.broadcom.com/external/article?legacyId=76719 (文章名字”Signing certificate is not valid” error in vCenter Server Appliance)

更新STS证书的具体步骤:

  1. 同样去到上面的KB文章,拉到文章底部,下载fixsts.sh脚本
  2. 上传fixsts.sh脚本到VCSA的/tmp目录
  3. 这次是shell脚本,所以要添加执行权限#chmod +x fixsts.sh
  4. 执行脚本#./fixsts.sh,输入administrator@vsphere.local密码
  5. 执行完毕后,会见到类似下面的提示

成功更新STS证书后,按照提示需要重启VCSA全部服务:

  • #service-control –stop –all && service-control –start –all

大概等10-20分钟全部服务重启后,重新刷新浏览器就可以成功登录vCenter了


最后总结一下

管理 vCenter Server 的证书有效期至关重要,尤其是在确保系统安全性和避免服务中断方面。通过熟悉 vCenter 证书类型和过期时间,并使用 vSphere Certificate Manager 或 CLI 命令来更新或替换证书,可以显著简化 vCenter 证书管理。若 vCenter 证书过期,及时采取解决方法,如更新 Machine SSL 证书或替换 STS 证书,以确保 vCenter Server 的稳定运行。掌握 vCenter Server 证书过期后的更新方法、vSphere 证书类型的管理和维护技巧,将为 VMware 用户在日常操作中提供极大的便利。

图书推介 - 京东自营

24小时热门

需要协助?或者只是想技术交流一下,直接联系我们!

推荐更多

VMware快速入门

如何使用ESXCLI命令删除VMware ESXi上的软件包

这篇文章介绍了如何在VMware ESXi上移除VIB包,VIB包是用于扩展ESXi功能的软件组件。通过正确的方法删除不需要的VIB包,可以帮助优化系统性能并确保兼容性。