【VMware vCenter】vCenter Server 各版本证书有效期及过期解决办法。
这篇(VMware vCenter Server(VCSA) 5.5 版本证书过期问题处理过程。)文章阐述了有关 vCenter Server 证书过期的处理过程,整个过程相对来说比较复杂并且有的地方可能也没有说清楚,因此我想在此篇文章中重新做一个针对 vCenter Server 证书相关的汇总,以方便有需要的朋友进行查阅和参考。当然,不是说这篇文章会把这个事情讲清楚,肯定没法一次性说清楚并且也不一定完全正确,所以,有关更多内容和细节建议还是请查看 VMware 官方产品文档《vSphere Authentication》。
一、vCenter Server 所使用的证书类型
vCenter Server 中使用了各种各样的证书来确保相关组件服务能够互相验证以及加密通信,默认情况下,vSphere 使用 VMware Certificate Authority (VMCA) 证书颁发机构置备 vCenter Server 的相关证书,并且这些证书存储在 VMware Endpoint Certificate Store (VECS)端点证书存储中。虽然 vCenter Server 支持使用自签名证书来替换 vSphere 证书管理模式中由 VMCA 置备的证书,比如计算机 SSL 证书,但是这样会大大增加 vSphere 证书管理的复杂度,因为必须人工安装和管理这些证书,除非企业内部有严格的证书管理要求,否则使用 VMCA 就已经足够安全和值得信赖了。
vCenter Server 证书类型 | 置备方式 | VECS 证书库 | 备注 |
根证书 | VMCA | TRUSTED_ROOTS | 包含所有受信任的根证书。 |
计算机 SSL 证书 | VMCA | MACHINE_SSL_CERT | 计算机 SSL 证书用于计算机的安全 SSL 连接。 |
解决方案用户证书 | VMCA |
machine vpxd vpxd-extension vsphere-webclient wcp |
Machine 解决方案用户证书用于进行 SAML 令牌交换,与计算机 SSL 证书没有任何关系。 |
其他证书 |
VMCA |
SMS BACK_STORE ...... |
vSphere Certificate Manager 实用程序的备份库 (BACKUP_STORE)。 |
内部证书 | VMCA | STS (*) |
Security Token Service (STS) 是一项发布、验证和续订安全令牌的 Web 服务。 |
注*:作为令牌颁发者,Security Token Service (STS) 使用私钥对令牌进行签名,并发布公用证书供服务验证令牌签名。vCenter Server 管理 STS 签名证书并将其存储在 VMware Directory Service (vmdir) 中。
二、vCenter Server 各版本证书有效期
当 vCenter Server 初始安装过后,这些证书已经默认由 VMCA 置备到系统当中,并且不同类型的证书具有不同的有效期,如下表所示(来源于 SS-Engineer)。我们在使用 vCenter Server 时,最好将这些证书的监控管理加入到运维工作当中,如果在证书过期前没有得到处理, vCenter Server 相关服务可能会出现故障。
vCenter Server 版本 | 根证书 | 计算机 SSL 证书 | 解决方案用户证书 | STS 证书 |
6.5 | 10 年 | 10 年 | 10 年 | 10 年 |
6.5 U1 | 10 年 | 10 年 | 10 年 | 10 年 |
6.5 U2 | 10 年 | 2 年 | 2 年 | 2 年 |
6.5 U3 | 10 年 | 2 年 | 2 年 | 2 年 |
6.7 | 10 年 | 10 年 | 10 年 | 10 年 |
6.7 U1 | 10 年 | 10 年 | 10 年 | 10 年 |
6.7 U2 | 10 年 | 10 年 | 10 年 | 10 年 |
6.7 U3F及更低 | 10 年 | 10 年 | 10 年 | 10 年 |
6.7 U3G及更高 | 10 年 | 2 年 | 2 年 | 10 年 |
7.0 | 10 年 | 2 年 | 10 年(*) | 10 年 |
7.0 U1 | 10 年 | 2 年 | 10 年(*) | 10 年 |
7.0 U2 | 10 年 | 2 年 | 10 年(*) | 10 年 |
7.0 U3 | 10 年 | 2 年 | 10 年 | 10 年 |
8.0 | 10 年 | 2 年 | 10 年 | 10 年 |
8.0 U1 | 10 年 | 2 年 | 10 年 | 10 年 |
8.0 U2 | 10 年 | 2 年 | 10 年 | 10 年 |
8.0 U3 | 10 年 | 2 年 | 10 年 | 10 年 |
注*:从 vCenter Server 7.0 开始,WCP 证书已经添加至解决方案用户证书当中,并且在 7.0、7.0 U1 以及 7.0 U2 版本中,WCP 证书的有效期为 2 年,而从 7.0 U3 版本开始,WCP 证书的有效期为 10 年。如果从 7.0、7.0 U1 以及 7.0 U2 版本升级到 7.0 U3 及之后的版本,WCP 证书的有效期自动延长至 10 年。除此证书之外,如果 vCenter Server 从当前版本升级到更新的版本,升级后的版本依然会继承之前旧版本的证书到期日期,这一点需要特别注意。
三、vCenter Server 证书过期解决办法
如何监控和管理 vCenter Server 的各种证书,确实是一件麻烦并且令人困惑的事情。当证书快要过期时,有的证书会提前在 vSphere Client 告警,但是有的证书却又不会,比如 STS 证书(早期 vSphere 版本)。有的证书可以通过 vSphere Client 查看其状态并管理更新,而有的证书又只能通过 CLI 命令行查看状态和管理更新。这个确实没有什么比较好的办法,可以完美的同时解决 vCenter Server 所有证书的统一监控管理,因此,下面为大家收集归纳了相关链接,希望能够帮助并解决 vCenter Server 证书过期问题。
在执行证书替换或更新操作时,可能需要停止和启动 vCenter Server 相关服务,参考以下链接了解如何管理 vCenter Server 相关服务;也许还会用到相关链接中的脚本文件,如果将文件上传至 vCenter Server 遇到问题,以下链接也许可以帮助到你。
- Stop, Start or Restart Services on vCenter Server 6.x or Higher (KB 2109881)
- Connecting to vCenter Server Virtual Appliance using WinSCP fails with the error: Received too large (1433299822 B) SFTP packet. Max supported packet size is 1024000 B (KB 2107727)
由于证书过期问题,vCenter Server 服务会变得不可用,无法登录 vSphere Client 查看运行状态,以下链接可以帮助你如何通过命令行查看 vCenter Server 证书的状态,并确定是否由证书过期而导致的服务不可用。
- Checking the expiration date of vCenter Server certificates (KB 2015600)
- Checking the expiration date of ESXi certificates (KB 2015600)
- Verify and resolve expired vCenter Server certificates using command line interface. (KB 318973)
- Manually reviewing certificates in VMware Endpoint Certificate Store for vSphere 6.x and 7.x (KB 2111411)
如果检查确定有证书出现过期,以下链接可以帮助你解决 vCenter Server 证书过期问题,比如使用 vSphere Certificate Manager 实用程序和 Python 脚本来统一更新 vCenter Server 过期证书。
- CertificateStatusAlarm - There are certificate that expired or about to expire/Certificate Status Change Alarm Triggered on VMware vCenter Server (KB 68171)
- How to use vSphere Certificate Manager to Replace SSL Certificates (KB 318946)
- How to Replace Expired Certificates on vCenter Server using Fixcerts Python Script (KB 90561)
除了上面链接中的方法可以统一管理 vCenter Server 证书以外,也可以参考下面的链接对 vCenter Server 中的某类证书单独进行管理,但还是建议最好将这些链接综合查阅后再执行更新或替换操作。
1)根证书
- Removing Expired CA Certificates from the TRUSTED_ROOTS store in the VMware Endpoint Certificate Store(VECS) (KB 2146011)
- How to use vSphere Certificate Manager to Replace SSL Certificates (KB 318946)
2)计算机 SSL 证书
- Determining expired SSL certificates in vCenter Server and ESXi 6.x and 7.0.x (KB 2015600)
- How to use vSphere Certificate Manager to Replace SSL Certificates (KB 318946)
- Replacing a vSphere 6.x /7.x/8.x Machine SSL certificate with a Custom Certificate Authority Signed Certificate (KB 316601)
- Replacing the vSphere 6.x Machine SSL certificate with a VMware Certificate Authority issued certificate (KB 2112279)
3)解决方案用户证书
- How to replace the vSphere 6/7/8.x Solution User certs with VMCA issued certs (KB 2112281)
- How to replace the vSphere 6.0 Solution User certs with CA signed certs (KB 2112278)
- How to use vSphere Certificate Manager to Replace SSL Certificates (KB 318946)
4)STS 证书
- Checking Expiration of STS Certificate on vCenter Servers (KB 79248)
- Managing the vCenter Server Security Token Service (VMware Docs)
- "Signing certificate is not valid" error in vCenter Server Appliance (KB 76719)
- "Signing certificate is not valid" error in vCenter Server 6.5.x and 6.7.x on Windows (KB 79263)
5)SMS 证书
- vSAN Providers display the status as disconnected in the vSphere Web Client (KB 2126810)
- "VasaServiceException: org.apache.axis2.AxisFault: certificate has expired", SMS Certificate Expiry Alarm after upgrading vCenter Server from 5.x to 6.x (KB 2120105)
6)data-encipherment 数据加密证书
7)BACUP_STORES 备份证书
注意,当你在处理 vCenter Server 证书过期问题时,不能仅考虑过期证书的更新或替换,因为实际环境中可能还部署了其他解决方案(如NSX、SRM等)或第三方解决方案,如果没有进行综合的判断而执行了上述操作,可能会导致业务的中断甚至数据的丢失。