VMware vCenter STS证书过期的解决思路

vCenter内包含多种证书,一类是STS证书,一类是其他证书。证书在安装部署时,一般是默认10年有限期,但vCenter6.5以后部分版本存在证书只有2年有效期的问题。证书过期会导致登录webclient时,出现“获取身份认证程序时出错”(https://ip/ui),“nohealthyupstream”(https://ip)的提示,导致无法登陆,错误代码500、400。

某项目虚拟化平台(版本:VMware vCenter Server Appliance 6.7.0.47000)出现了该故障。

VMware vCenter STS证书过期的解决思路

看到这个登录界面后,初步判断可能是vCenter证书过期导致。

解决思路

2.1 检查是否因为STS证书原因导致

1)从官网KB79248下载checksts.py检测脚本

https://knowledge.broadcom.com/external/article?legacyId=79248

VMware vCenter STS证书过期的解决思路

2)上传到vCenter Server VCSA 的/tmp 目录

3)登录VCSA系统,进到/tmp目录:cd tmp

4)执行检测脚本:python checksts.py

可以看到证书的有效期,如果证书过期就需要更新证书。

2.2 更新STS证书

注意:在进行下列操作之前,将vCenter的虚拟机做备份并打快照。

1)从官网KB76719 的网页下载脚本fixsts.sh

2)将这个脚本上传到vCenter/PSC Server 上的临时目录/tmp 下

3)进入目录:cd /tmp

4)将脚本改为可执行模式:chmod +x fixsts.sh

https://knowledge.broadcom.com/external/article?legacyId=76719

VMware vCenter STS证书过期的解决思路

5)运行脚本./fixsts.sh可以看到有提示成功的字样,这样STS证书就更新好了

6)重启vCenter如果是STS证书到期导致,此时应该能正常登录了。如果更新STS证书后还不能正常登录,继续往下更新其他证书。

2.3 检查是否因为其他证书原因导致

查询其他证书过期情况,输入查询命令:

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;

如发现其他证书也存在过期情况,继续更新这些证书。

2.4 更新其他证书

1)输入命令/usr/lib/vmware-vmca/bin/certificate-manager回车开始更新

2)选择输入8更新所有证书,输入y回车确认

输入登录账号administrator@vsphere.local回车,再输入密码回车,一路选择默认项,到IP这一栏时输入VC的IP,然后回车输入VC主机名,然后等待更新,更新过程会重启VC。

更新完成后登录VC检查证书状态:

VMware vCenter STS证书过期的解决思路

改进措施

及时检查当前vCenter证书到期时间,在证书到期之前续订证书:

  • 1)6.5 及以下的操作方法是登录vCenter,然后选择证书–证书管理–选择证书–续订;
  • 2)6.7 的操作方法是:主页–系统管理–证书–证书管理–选择证书–操作–续订。
VMware vCenter STS证书过期的解决思路

声明: 本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
VMware vSphere

VMware vSphere ESXi7.0、8.0密钥

2025-1-3 17:19:45

持续集成

Jenkins参数化构建:实现参数关联与联动,构建选项后动态显示文本框

2024-11-25 16:33:58

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索