https://www.yii666.com/blog/395521.html

vCenter证书过期解决方法

目录

1 概述

2 详细操作步骤

2.1 检查关键的STS证书是否过期并修复

2.2 检查除STS证书外是否还有其余证书过期

2.3 续订除STS和data-encipherment以外的证书

2.4 续订data-encipherment证书

2.5 删除BACKUP_STORES certificat

3 FAQ

3.1 VMCA为关键步骤,且不可逆,执行之前注意先生成快照。

概述

vCenter内含各种证书,部分证书过期会导致登录webclient时,出现“获取身份认证程序时出错”(https://ip/ui),“no healthy upstream”(https://ip)的提示,导致无法登陆,错误代码500、400。本手册介绍证书过期问题的解决方法。

详细操作步骤

2.1 检查关键的STS证书是否过期并修复

STS 证书过期时不会触发证书到期警报。安全令牌服务(STS)证书过期时,将导致内部服务和解决方案用户无法获得有效的令牌,从而无法按预期工作在证书到期前3个月完成证书的更新及续签。

检查 vCenter Server 上 STS 证书的过期日期

(参考官方KB:https://kb.vmware.com/s/article/79248?lang=en_us)

上传检测脚本

脚本文件:

通过SCP协议将脚本问价上传至vCenter Server

以winscp工具为例,将脚本上传到新建的/tmp2目录https://www.yii666.com/

通过SSH协议登陆vCenter Server Appliance

输入shell,进入shell命令视图

执行chsh -s /bin/bash root,赋予root用户执行脚本权限:

执行脚本 python checksts.py

从结果得知STS没有过期。

注:如果STS过期,则执行修复脚本

,并重启服务:

service-control --stop --all

service-control --start --all

2.2 检查除STS证书外是否还有其余证书过期

完成关键的STS证书检测(和修复)后,检查其他证书到期情况

通过命令检查:

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.3 续订除STS和data-encipherment以外的证书

通过VMCA 来重新生成 vSphere 6.x 证书

启动 vSphere Certificate Manager。

对于vCenter Server 6.x Appliance:

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

对于 Windows vCenter Server 6.x:

C:\Program Files\VMware\vCenter Server\vmcad\certificate-manager

选择8或4,执行功能相同

根据 VMCA 的提示,输入以下项的值:

重点项:

Enter proper value for 'Hostname' [Enter valid Fully Qualified Domain Name(FQDN), For Example : example.domain.com] :这个值要和vCenter Server的主机名一致。

Enter proper value for VMCA 'Name' :  (注意:vCenter Server 6.0 U3、6.5 及更高版本将要求提供此信息,您可以在此字段中使用 vCenter Server 的 FQDN。 它将作为 VMCA 根证书的公用名) 没有配置FQDN就是用IP地址。

开始执行更新文章来源地址https://www.yii666.com/blog/395521.html

………………………………………………

更新完成后会重启,再次用命令检查是否还有证书到期。

证书期限都正常后,访问vCenter WebClient,确认各项服务是否正常。

一般情况到此可解决问题,若不正常继续续订data-encipherment证书。

2.4 续订data-encipherment证书

参考官方KB:https://kb.vmware.com/s/article/88548?lang=en_US

续订、修复脚本

上传脚本,使用 SSH 会话连接到 vCenter Server

导航到存放脚本的 /tmp2目录:

cd /tmp2

运行chmod +x fix_encipherment_cert.sh使文件可执行。

运行./fix_encipherment_cert.sh

重新启动 VPXD 服务以使更改生效

service-control --stop vpxd

service-control --start vpxd

2.5 删除BACKUP_STORES certificat

参考KB:Clearing BACKUP_STORES certificates in the VCSA via shell script (82560)文章来源地址https://www.yii666.com/blog/395521.html

VMware Knowledge Base

使用下列命令检查证书:

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

如果 STORE BACKUP_STORE 下有过期或过期证书,请继续运行上传的脚本clean_backup_stores.sh

将脚本上传到 VCSA 到 /tmp2/ 目录

通过运行使脚本可执行:chmod +x clean_backup_stores.sh

使用以下命令运行脚本:./clean_backup_stores.sh

注意:您可能会收到错误消息:  -bash: ./clean_backup_stores.sh: /bin/bash^M: bad interpreter: No such file or directory。

如果是这样,请运行:  sed -i -e 's/\r$//' clean_backup_stores.sh文章来源站点https://www.yii666.com/

使用命令  service-control --stop --all && service-control --start --all重启服务

继续“确认”和“重置为绿色”任何与证书相关的警报

3 FAQ

VMCA为关键步骤,且不可逆,执行之前注意先生成快照。

[转帖]VMware vCenter证书过期解决方法的更多相关文章

  1. kubelet证书过期解决方法

    昨天收到报警短信:集群中某node状态为notReady,由于是长期不用的,所以放到今天才有空处理,以下记录处理过程. 查看kubelet日志,发现不停的打印证书过期相关提示信息. 以下操作基于kub ...

  2. Microsoft VS 2008 过期解决方法破解方法

    Microsoft VS 2008 过期解决方法电脑上的Microsoft Visual Studio 2008 Team System 试用版提示离过期还有**天.于是百度,搜索结果大多是以下两种解 ...

  3. PL/SQL Developer过期解决方法

    参考资料: plsql过期解决方法 plsql永久注册码适用个版本 方法一: 1.首先,登陆PL/SQL Developer,PL/SQL Developer要到期了 2.输入指令“regedit”打 ...

  4. Navicat for MySQL(Ubuntu)过期解决方法

    推荐购买正版软件,尊重版权  [官网在这里] Navicat for MySQL(Ubuntu系统)免费版试用过期解决方法: Step1. 直接删除 /home目录下的  .navicat文件夹(64 ...

  5. SQLServer 订阅过期解决方法

    原文:SQLServer 订阅过期解决方法 由于分发数据库执行一个较长的事务,达到了系统预定的72小时,导致了该订阅过期,数据库分发代理已不可再启用,提示错误如下: 错误信息:已将此(这些)订阅标记为 ...

  6. 传奇GOM引擎授权过期解决方法.

    传奇GOM引擎授权过期解决方法 下载最新的GOM引擎,将里面的Key.Lic文件找出来,替换掉授权过期的版本,如果你本身是免费版最好是找同样的免费版的来覆盖. 如果你本身是免费版,但是却用的是商业版K ...

  7. 【笔记】IDEA中maven导入依赖提示证书错误解决方法

    先是提示:一定要备份配置文件!!! 一定要备份配置文件!!! 一定要备份配置文件!!! 先说原因:idea内置了jre,与你开发用的jre不是同一个软件,你通过命令修改的是开发用的jre的证书库,导入 ...

  8. C# 调用https接口 安全证书问题 解决方法

    原文链接: https://blog.csdn.net/lizaijinsheng/article/details/127321758 说明: 如果是用https的话,由于没有证书,会报错:基础连接已 ...

  9. mac os ssh远程链接centos提示证书错误解决方法

    下面是错误提示 IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you ...

  10. 安装VMware vCenter过程设置数据库方法

    VMware vCenter自带免费版的SQL Server 2005 Express,但此免费版数据库适合于小于5台ESX主机的小型部署.如果规模较大可以单独安装数据库系统进行配置,这里选择我独立安 ...

随机推荐

  1. 带你认识多模数据库GeminiDB架构与应用实践

    本文分享自华为云社区<多模归一,一生万物--华为云多模数据库GeminiDB架构与应用实践>,作者: GaussDB 数据库 . 在这个信息爆炸的时代,数据的管理和应用变得越来越重要.互联 ...

  2. 华为云原生数据仓库GaussDB(DWS)深度技术解读:融、快、大、稳、易

    摘要:云原生数据仓库GaussDB(DWS)架构师应邀为大家解读数仓深度技术. "云原生"在2020年成为备受瞩目的热词,云原生在确保企业数字化转型中资源快速供给.按需使用的同时, ...

  3. git clone 出现fatal: unable to access ‘https://github 错误解决方法

    git clone 遇到问题:fatal: unable to access 'https://github.comxxxxxxxxxxx': Failed to connect to xxxxxxx ...

  4. 对不起,你做的 A/B 实验都是错的——火山引擎 DataTester 科普

    DataTester 是火山引擎数智平台旗下产品,能基于先进的底层算法,提供科学分流能力和智能的统计引擎,支持多种复杂的 A/B 实验类型.DataTester 深度耦合推荐.广告.搜索.UI.产品功 ...

  5. Q查询进阶操作 ORM查询优化 only与defer select_related与prefetch_related ORM事务 ORM常用字段类型 ORM常用字段参数

    目录 Q查询进阶操作 children.append 图书查询功能 ORM查询优化 惰性查询 自动分页 limit only与defer only defer select_related与prefe ...

  6. 在WPF应用中使用FastReport.WPF报表模块

    FastReport是一个非常不错的报表组件,在Winform应用中常常使用它进行报表的设计.预览展现.打印或者导出文件(PDF.Excel)等,可以设计打印各种各样的报表,本篇随笔继续介绍当前最新的 ...

  7. EasyUI DataGrid 没有数据

    //判断后台返回数据是否没数据,没数据DataGrid添加一行 $(this).datagrid('appendRow', { itemid: '<div style="text-al ...

  8. GOS会计凭证上传附件

    1.GOS介绍 GOS是一个连接文档和SAP内各种对象的工具,在SAP的一些凭证中,可以通过GOS进行附件的上传.查看和删除等功能,例如采购订单.会计凭证等. 如果没有这个按钮,可以将当前登录用户的类 ...

  9. 神经网络优化篇:详解RMSprop

    RMSprop 知道了动量(Momentum)可以加快梯度下降,还有一个叫做RMSprop的算法,全称是root mean square prop算法,它也可以加速梯度下降,来看看它是如何运作的. 回 ...

  10. 题解 CF1388A 【Captain Flint and Crew Recruitment】(思维、贪心)

    AC代码: #include<bits/stdc++.h> using namespace std; void solve() { int n; cin >> n; if (n ...