[转帖]解决vCenter6.x由于证书过期问题无法登录

解决,vcenter6,由于,证书,过期,问题,无法,登录 · 浏览次数 : 0

小编点评

## vCenter STS证书失效导致无法登录问题汇总 **问题:** 由于vCenter证书已过有效期,导致无法登录,出现以下问题: * vCenter无法登录,输入了用户名和密码,却一直提示输入用户名和密码。 * vCenter页面直接显示503 Service Unavailable这时候,可能就是遇到了证书已过有效期的问题。 **解决办法:** 1. **验证是否因为STS证书原因导致:** * 从KB79248 的网页下载并运行 python checksts.py 检查证书有效期。 * 如果证书已过有效期,继续往下更新其他证书。 2. **更新STS证书:** * 从KB76719 的网页下载脚本fixsts.sh。 * 将脚本上传到vCenter/PSC Server 上的临时目录/tmp 下。 * 进入目录:cd /tmp4,将脚本改为可执行模式:chmod +x fixsts.sh5。 * 运行脚本:./fixsts.sh。 * 成功更新后,重启vCenter。 3. **验证是否因为其他证书原因导致:** * 查询其他证书的有效期: * 6.5 及以下的操作方法:https://vc-ip/psc,然后选择:证书 – 证书管理– 选择证书 – 续订 * 6.7 的操作方法:主页 – 系统管理 – 证书 – 证书管理 – 选择证书 – 操作 – 续订本文中提到的两个文件,点此下载checksts.py和fixsts.sh。 4. **更新其他证书:** * 参考KB2097936,使用certification Manager 替换其他过期证书。 5. **重启vCenter,检查是否可以正常登录:** * 正常登录后,验证证书是否已更新成功。

正文

https://www.dinghui.org/vcenter-sts-certificate.html#:~:text=%E8%BF%99%E6%97%B6%E5%80%99%EF%BC%8C%E5%8F%AF%E8%83%BD%E5%B0%B1%E6%98%AF%E9%81%87%E5%88%B0%E4%BA%86%E8%AF%81%E4%B9%A6%E5%B7%B2%E8%BF%87%E6%9C%89%E6%95%88%E6%9C%9F%E7%9A%84%E9%97%AE%E9%A2%98%E3%80%82%20vCenter%20%E7%9A%84%E8%AF%81%E4%B9%A6%E5%9C%A8%E5%AE%89%E8%A3%85%E9%83%A8%E7%BD%B2%E6%97%B6%EF%BC%8C%E2%BC%80%E8%88%AC%E6%98%AF%E9%BB%98%E8%AE%A410,%E5%B9%B4%E7%9A%84%EF%BC%8CvCenter%206.5%20%E4%BB%A5%E5%90%8E%E7%9A%84%E9%83%A8%E5%88%86%E7%89%88%E6%9C%AC%E5%AD%98%E5%9C%A8%E8%AF%81%E4%B9%A6%E5%8F%AA%E6%9C%892%20%E5%B9%B4%E6%9C%89%E6%95%88%E6%9C%9F%E7%9A%84%E9%97%AE%E9%A2%98%E3%80%82

 

近期比较多客户遇到由于证书过期问题导致vCenter突然无法登录,这里做一个汇总。(也适用于vCenter 7.x)

故障现象可能如下:

1、vCenter无法登录,输入了用户名和密码,却一直提示输入用户名和密码。

2、vCenter页面直接显示503 Service Unavailable

这时候,可能就是遇到了证书已过有效期的问题。vCenter 的证书在安装部署时,⼀般是默认10 年的,vCenter 6.5 以后的部分版本存在证书只有2 年有效期的问题。

主要是验证两类证书:一类是STS证书(参考第一和第二),还一类是其他证书(参考第三和第四)。

解决办法:

一、验证是否因为STS证书原因导致。

1、从KB79248 的网页下载一个Python 的小程序checksts.py(文末有下载)
2、上传到vCenter Server 或外部的PSC。上传到VCSA 的/tmp 目录,或者Windows Server 的%TEMP%目录。(如果使用工具无法连接,可以将 shell 更改为 bash shell 来使用 SCP,命令如下:chsh -s/bin/bash root)
3、进到/tmp 目录:cd /tmp
4、运行 python checksts.py

可以看到证书的有效期,如果过期了,继续往下更新证书。

二、更新STS证书。

注意:在进行下列操作之前,将vCenter 的虚拟机做备份并打快照。
1)从KB76719 的网页下载脚本fixsts.sh。(文末有下载)
2)将这个脚本上传到vCenter/PSC Server 上的临时目录/tmp 下。
3)进入目录:cd /tmp
4)将脚本改为可执行模式:chmod +x fixsts.sh
5)运行脚本:./fixsts.sh

可以看到有提示成功的字样,这样STS证书就更新好了。

6)重启vCenter,如果是STS证书到期导致,此时应该能正常登录了。

如果还不能正常登录,继续往下更新其他证书。

备注:如果是Windows版本的vCenter更新证书,需要使用PowerShell script去更新证书,参考以下kb:

https://kb.vmware.com/s/article/79263

三、验证是否因为其他证书原因导致。

7)查询其他证书过期情况

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

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

如图,上述有证书就是2023年1月15日到期。

四、更新其他证书

8)参考KB2097936,使用certification Manager 替换其他过期证书。

要启动 vSphere Certificate Manager,请运行如下命令:

  • vCenter Server(Windows 版本):C:\Program Files\VMware\vCenter Server\vmcad\certificate-manager
  • vCenter Server Appliance:/usr/lib/vmware-vmca/bin/certificate-manager

运行 certificate-manager 命令时,将为您提供 8 个选项,如屏幕截图中所示。

选择选项 8 进行操作,根据提示,在「Hostname」输入vc的FQDN,在VMCA Name输入与Hostname相同的值(如果是以ip部署的vc,请输入ip地址)。其余按回车保持默认即可。

耐心等待提示100%更新成功后,vCenter就已经可以正常登陆了。

如何规避:

检查当前vCenter 证书到期时间:
1)6.5 及以下的操作方法是:https://vc-ip/psc,然后选择:证书 – 证书管理– 选择证书 – 续订
2)6.7 的操作方法是:主页 – 系统管理 – 证书 – 证书管理 – 选择证书 – 操作 – 续订

本文中提到的两个文件,点此下载checksts.py和fixsts.sh

与[转帖]解决vCenter6.x由于证书过期问题无法登录相似的内容:

[转帖]解决vCenter6.x由于证书过期问题无法登录

https://www.dinghui.org/vcenter-sts-certificate.html#:~:text=%E8%BF%99%E6%97%B6%E5%80%99%EF%BC%8C%E5%8F%AF%E8%83%BD%E5%B0%B1%E6%98%AF%E9%81%87%E5%88%B

[转帖]VMware vCenter证书过期解决方法

https://www.yii666.com/blog/395521.html vCenter证书过期解决方法 目录 1 概述 2 详细操作步骤 2.1 检查关键的STS证书是否过期并修复 2.2 检查除STS证书外是否还有其余证书过期 2.3 续订除STS和data-encipherment以外的

[转帖]解决Java中的java.io.IOException: Broken pipe问题

https://www.cnblogs.com/Chary/p/16835248.html Java 中java.io.IOException: Broken pipe 认识broken pipe pipe是管道的意思,管道里面是数据流,通常是从文件或网络套接字读取的数据。 当该管道从另一端突然关闭

[转帖]解决Nginx负载均衡重复提交问题

https://www.qiansw.com/resolving-nginx-load-balancing-repeated-commit-problems.html 这篇文章的发布时间较早,其中的信息可能已经过时,阅读时请注意甄别。 Nginx [测试环境 Tengine version: Ten

[转帖]解决jmeter请求响应结果乱码的问题

如下图所示,请求百度接口的时候,发现返回的信息里面中文是乱码 这个时候我们只需要改一下jmeter里的配置文件,设置响应结果的字符编码为UTF-8就行了。 进入jmeter安装目录/bin中,找到jmeter.properties这个文件,windows用文本编辑器打开,我是mac的,直接vim编辑

[转帖]解决Harbor在服务器重启后无法自启动的问题

问题 当部署Harbor的服务器在重启之后,可能会出现Harbor无法跟随系统自启动 解决方案 现假设Harbor的安装目录位置为/usr/local/harbor,在Harbor安装完成之后,在此目录下会生成docker-compose.yml配置文件,可以使用docker-compose操作此文

[转帖]一文解决内核是如何给容器中的进程分配CPU资源的?

https://zhuanlan.zhihu.com/p/615570804 现在很多公司的服务都是跑在容器下,我来问几个容器 CPU 相关的问题,看大家对天天在用的技术是否熟悉。 容器中的核是真的逻辑核吗? Linux 是如何对容器下的进程进行 CPU 限制的,底层是如何工作的? 容器中的 thr

[转帖]【有效解决】Edge浏览器提示你的连接不是专用连接怎么办?

https://www.xitongzhijia.net/xtjc/20230524/290887.html Win11正式版iso镜像最新(22H2新版) V2023 大小:4.22 GB类别:Windows 11系统 Edge浏览器提示你的连接不是专用连接怎么办?近期有用户在使用Edge浏览器时

[转帖]运维必会神技能:轻松解决rpm软件包的依赖问题

https://zhuanlan.zhihu.com/p/504348343 在公司的网络或者是客户的网络环境中,经常会有只能使用局域网而不能使用访问互联网的情况,其目的也很显然,为了更好的保护数据安全。 但在这种情况下,对于运维而言,如果突然要安装一款软件的话,就会变得很困难,因为它往往有很多依赖

[转帖]彻底理解并解决服务器出现大量TIME_WAIT

https://zhuanlan.zhihu.com/p/567088021?utm_id=0 首先我们说下状态 TIME_WAIT 出现的原因 TCP的新建连接,断开连接的流程和各个状态,如下图所示 由上图可知:TIME_WAIT 是主动断开连接的一方会出现的,客户端,服务器都有可能出现 当客户端