哈喽大家好,欢迎来到虚拟化时代君(XNHCYL),收不到通知请将我点击星标!“ 大家好,我是虚拟化时代君,一位潜心于互联网的技术宅男。这里每天为你分享各种你感兴趣的技术、教程、软件、资源、福利…(每天更新不间断,福利不见不散)

文 章 引 言
新年新气象,大家元旦快乐!开启打螺丝模式,继续技术文章的分享。
今天在给客户升级VMware vCenter时候遇到了奇怪的问题,客户环境是VCSA 7.x 升级到 8.x。记录下解决的过程和思路。
故障现象描述
在将 VCSA 7.x 升级到 8.x 的升级中,显示不信任一个或多个 URL,就像证书已过期一样。

这个错误其实很少见,小编这么多年遇到也是寥寥无几。但是还好有VMware的KB库有相关案例:
-
https://knowledge.broadcom.com/external/article?legacyId=93526
eam-utility.py脚本
脚本内容,脚本是从官方KB中获取,可自行下载!下载完成之后通过SSH上传到vCenter中。
#!/usr/bin/python -B########################################################################## Copyright 2023 VMware, Inc. All rights reserved. VMware Confidential########################################################################## NOTE: on linux/photon machines execute this file directly# ----- on windows distribution execute with ""%VMWARE_PYTHON_BIN%" -B%" prefixfrom argparse import ArgumentParserfrom contextlib import closingfrom datetime import datetime, timedelta, tzinfotry:inFnc = raw_inputexcept:inFnc = inputfrom json import load, dumpfrom logging import DEBUG, Formatter, Logger, StreamHandlerfrom os import chmod, environfrom os.path import exists, joinfrom stat import S_IREAD, S_IWRITE, S_IRUSR, S_IWUSR, S_IRGRP, S_IROTHfrom socket import create_connectionfrom ssl import CERT_NONE, create_default_context, DER_cert_to_PEM_cert, Purposefrom sys import platform, stdouttry:from urllib.parse import urlparseexcept:from urlparse import urlparse_IS_WINDOWS = platform.lower().startswith('win')_VMWARE_CFG_ENV = 'VMWARE_CFG_DIR'_TRUST_FILE = (join(environ.get(_VMWARE_CFG_ENV), 'vmware-eam', 'depot-trust.json')if _IS_WINDOWS else'/etc/vmware-eam/depot-trust.json')_INSTALL_TEXT = ('pins an URL\'s leaf certificate in ESX Agent Manager trust store')_UNINSTALL_TEXT = ('unpins any known certificate for an URL from ESX Agent Manager\'s' +' trust store')_DISABLE_TEXT = ('allows, ESX Agent Manager, access to an URL without establishing' +' trust')_ENABLE_TEXT = ('removes permission to access an URL without establishing trust' +' from ESX Agent Manager')_CLEAR_TEXT = 'clears configured ESX Agent Manager trust store'_DISABLED_MARKER = 'AnyCertificate'_CANT_MOD_TEXT = 'Unable to read or modify ESX Agent Manager trust at %s'_LOG_FORMAT = '%(asctime)s %(message)s'_DATE_FORMAT = '%Y-%m-%d %H:%M:%S %z'_TRUST_PERMISSIONS = (S_IREAD | S_IWRITE | S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)# In seconds_CERT_GET_TIMEOUT = 10def main(args):return args.operationFnc(_createTimeZoneLogger(), args)def _installCert(log, args):rc = 0url = args.urlif _needsTrust(url):try:parts = urlparse(url)except:log.warning('Couldn\'t parse the provided URL %s', url, exc_info=True)rc = 1if rc == 0:context = create_default_context(purpose=Purpose.SERVER_AUTH)# NOTE: Disable hostname verification to be able to access# ----- misnamed certificates.context.check_hostname = False# NOTE: Disable certificate verification to be able to access# ----- any kind of certificate on the server.context.verify_mode = CERT_NONEpem_certificate = Nonetry:with closing(create_connection((parts.hostname, 443 if parts.port is None else parts.port),timeout=_CERT_GET_TI
VMware vCenter升级显示不受信任URL报错解决

最低0.47元/天 解锁文章
1259

被折叠的 条评论
为什么被折叠?



