vSphere Web Client 显示错误: 无法验证一个或多个 vCenter Server 系统的 SSL 证书
search cancel

vSphere Web Client 显示错误: 无法验证一个或多个 vCenter Server 系统的 SSL 证书

book

Article ID: 301432

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

在 vSphere Web Client 中解决未能验证的一个或多个 vCenter Server Systems 错误,请注销重复的 vCenter Server 服务。

Symptoms:

免责声明: 本文为 “Failed to verify the SSL certificate for one or more vCenter Server Systems” error in the vSphere Web Client (2050273 ) 的翻译版本。 尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。 有关最新内容,请参见英文版本。


  • VMware vSphere Web Client 显示以下错误:

    Failed to verify the SSL certificate for one or more vCenter Server Systems: https://vCenterServerFQDN:443/sdk




    Could not connect to one or more vCenter Server Systems:https://vCenterFQDN:443/sdk

  • 主机或虚拟机等对象没有显示在 vSphere Web Client 中。


Environment

VMware vCenter Server Appliance 6.0.x
VMware vCenter Server 5.1.x
VMware vCenter Server 5.5.x
VMware vCenter Server 6.0.x
VMware vCenter Server Appliance 6.5.x

Cause

此问题会在以下情况下发生:

  • 重新安装 vCenter Server 期间,可能向 Single Sign-On (SSO) 多次注册同一个 vCenter Server。
  • 对于以前安装的 vCenter Server,升级或重新安装过程中无法正确覆盖或移除 SSL 证书。

    注意: 如果证书以前就存在问题,它们可能会直到安装和使用 5.1 Web Client 时才暴露出来。

继续执行“解决方法”部分中的步骤之前,请确保您没有遇到 vSphere Web Client 5.1 reports this SSL warning after an installation or upgrade: Failed to verify the SSL certificate for one or more vCenter Server Systems (2036505) 中所述的问题。

Resolution

要解决此问题,请确定您当前遇到的情况:

vSphere 5.x

  • 查找重复注册的 vCenter Server 实例:

    1. 登录到安装了 vCenter Single Sign-On 的服务器。
    2. 以管理员身份打开 Windows 命令提示符。
    3. 根据您的 vSphere 版本,导航到以下目录:

      vCenter Server 5.1 – %Program Files%\VMware\Infrastructure\SSOServer\ssolscli

      vCenter Server 5.5 – C:\Program Files\VMware\Infrastructure\VMware\CIS\vmware-sso

    4. 通过运行以下命令设置 JAVA_HOME 变量:

      vCenter Server 5.1 – SET JAVA_HOME=C:\Program Files\VMware\Infrastructure\jre

      注意: 首先验证路径。 列出的路径为默认路径。 但是,多次安装之后,路径可能会更改为 C:\Program Files\VMware\Infrastructure\jre1

      vCenter Server 5.5 – SET JAVA_HOME=C:\Program Files\Common Files\VMware\VMware vCenter Server - Java Components

    5. 要创建包含已向 SSO 注册的服务的列表的文本文件,请运行以下命令:

      ssolscli.cmd listServices https://vCenter_Single_Sign-on_FQDN:7444/lookupservice/sdk > c:\sso_services.txt

    6. 打开生成的文本文件,查找注册到 vCenter Single Sign-On 的服务的列表。

      在该文本文件中,您会看到类似以下内容的输出:

      vSphere 5.1


      Service 1
      -----------
      serviceId={93135931-7B87-4B11-B6FC-236A8849B728}:2
      serviceName=vCenterService
      type=urn:vc
      endpoints={[url=https://FQDN:443/sdk,protocol=vmomi]}
      version=5.1
      description=vCenter Server
      ownerId=vCenterServer_2013.10.10_163108@System-Domain
      productId=
      viSite={93135931-7B87-4B11-B6FC-236A8849B728}

      Service 2
      -----------
      serviceId={93135931-7B87-4B11-B6FC-236A8849B728}:1
      serviceName=vCenterService
      type=urn:vc
      endpoints={[url=https://FQDN:443/sdk,protocol=vmomi]}
      version=5.1
      description=vCenter Server
      ownerId=vCenterServer_2013.10.10_163123@System-Domain
      productId=
      viSite={93135931-7B87-4B11-B6FC-236A8849B728}


      vSphere 5.5

      Service 1
      -----------
      serviceId=Site Name:02dde295-422a-403e-b32c-1e40c3f188fd
      serviceName=vCenterService
      type=urn:vc
      endpoints={[url=https://FQDN:443/sdk,protocol=vmomi]}
      version=5.1
      description=vCenter Server
      ownerId=vCenterServer_2013.10.10_163108@System-Domain
      productId=
      viSite=Site Name

      Service 2
      -----------
      serviceId=Site Name:811660f9-f110-4ee7-8f9e-dc0dd1d062fe
      serviceName=vCenterService
      type=urn:vc
      endpoints={[url=https://FQDN:443/sdk,protocol=vmomi]}
      version=5.1
      description=vCenter Server
      ownerId=vCenterServer_2013.10.10_163123@System-Domain
      productId=
      viSite=Site Name


    注意: 对于非链接 vCenter Server 配置,请确保仅有一个 vCenter Server 注册到 SSO。 如果发现重复的 vCenter Server 服务,请通过检查 ownerId 的时间和日期并取消注册较早的服务来取消注册重复的 vCenter Server 服务。

    您还可以通过查看位于 C:\ProgramData\VMware\VMware VirtualCenter 中的 vpxd.cfg 文件来确定当前的 vCenter Server 实例。 当前的 vCenter Server 示例 ID 和名称如下所示:

    <lookupService>
    <serviceId>{9300C2AC-4D97-4191-8EB1-387D9823E6E3}:23</serviceId>
    </lookupService>
    <solutionUser>
    <name>vCenterServer_2013.02.28_170324</name>
    </solutionUser>

    要取消注册重复的 vCenter Server 服务,请使用在 sso_services.txt 输出中找到的完整服务 ID,并使用 ssolscli unregisterService 命令取消注册该服务。

    1. 创建名为 c:\serviceID.txt 的文件,其中仅包含重复的 vCenter Server 的完整 serviceID。 例如,要创建文件,请运行以下命令:

      vSphere 5.1

      {93135931-7B87-4B11-B6FC-236A8849B728}:2

      vSphere 5.5

      Site Name:02dde295-422a-403e-b32c-1e40c3f188fd

    2. 通过运行以下命令取消注册服务:

      vSphere 5.1

      ssolscli unregisterService -d https://vCenter_Single_Sign-On_FQDN:7444/lookupservice/sdk -u admin@system-domain -p SSO_Password -si c:\serviceID.txt

      vSphere 5.5

      ssolscli unregisterService -d https://vCenter_Single_Sign-On_FQDN:7444/lookupservice/sdk -u [email protected] -p SSO_Password -si c:\serviceID.txt

      注意: 如果 vCenter Single Sign-On 服务和 vCenter Server 安装在不同位置,请在上述命令中使用 vCenter Single Sign-On 服务器的 FQDN。

    3. 使用 vSphere Web Client 和 vCenter Single Sign-On 管理帐户登录到 vCenter Server,以验证问题是否得到解决。

  • 这也可能是由证书问题导致的。 要替换现有证书,请参见:

  • 如果上述步骤解决不了问题,您可能需要重新安装 VMware 产品。

    1. 按以下顺序卸载 vCenter Server 及其组件:

      1. vSphere Web Client
      2. vCenter Server
      3. vCenter Inventory Service
      4. vCenter Single Sign-On

    2. 移除 RSA 数据库的 RSA_USERRSA_DBA 用户。
    3. 重命名包含 SSL 信息的以下文件夹:

      • C:\Program Files\VMware\Infrastructure 重命名 InfrastructureOld
      • C:\ProgramData\VMware\Infrastructure 重命名 InfrastructureOld
      • 将 C:\ProgramData\VMware\VMware VirtualCenter 重命名 vCenterOld
      • C:\ProgramData\VMware\vSphere Web Client 重命名为 WebClientOld
      • C:\ProgramData\VMware\SSL 重命名 SSLOld

    4. 使用提供的脚本创建新的 RSA 数据库和用户。 有关详细信息,请参见 vSphere Installation and Setup Guide

      使用名为 rsaIMSLiteMSSQLSetupUsers.sql 的脚本创建 RSA_USERRSA_DBA 用户,此脚本包含在 vCenter Server 5.1 安装介质中。

    5. 按以下顺序安装 vCenter Server 及其组件:

      1. SSO
      2. Inventory Service
      3. vCenter Server
      4. Web Client

    6. 使用 admin@System-Domain(对于 5.1)或 [email protected](对于 5.5)通过 Web Client 登录到 vCenter Server。

      验证问题是否得到解决。

vSphere 6.x

  • 查找重复注册的 vCenter Server 实例:

    对于 Windows

    1. 登录到已安装 Platform Services Controller 的服务器。
    2. 以管理员身份打开 Windows 命令提示符。
    3. 要创建包含已在 Platform Services Controller 中注册的服务的列表的文本文件,请运行以下命令:

      "%VMWARE_PYTHON_BIN%" "%VMWARE_CIS_HOME%\VMware Identity Services\lstool\scripts\lstool.py" list --url http://localhost:7080/lookupservice/sdk --type vcenterserver > c:\psc_services.txt

    4. 打开生成的文本文件,查找注册到 Platform Services Controller 的服务的列表。

      在该文本文件中,您会看到类似以下内容的输出:

      Name: AboutInfo.vpx.name
      Description: AboutInfo.vpx.name
      Service Product: com.vmware.cis
      Service Type: vcenterserver
      Service ID: 608AF497-B198-40D1-9855-545533A488AF
      Site ID: home-office
      Node ID: 86ca3bf1-9201-11e3-8f19-000c29562ae2
      Owner ID: [email protected]
      Version: 6.0
      Endpoints:
      Type: com.vmware.cis.workflow
      Protocol: vmomi
      URL: http://vCenter1.domain.local:8088
      SSL trust:

      Name: AboutInfo.vpx.name
      Description: AboutInfo.vpx.name
      Service Product: com.vmware.cis
      Service Type: vcenterserver
      Service ID: 6ae3bf1a-9318-4a33-b2cb-d2eaa7a306c5
      Site ID: home-office
      Node ID: 86ca3bf1-9201-11e3-8f19-000c29562ae2
      Owner ID: [email protected]
      Version: 6.0
      Endpoints:
      Type: com.vmware.cis.workflow
      Protocol: vmomi
      URL: http://vCenter2.domain.local:8088
      SSL trust:

      Name: vCenterService
      Description: vCenter Server
      Service Product: com.vmware.cis
      Service Type: vcenterserver
      Service ID: default-first-site:01c98f18-770a-41c2-a967-b7a4b574cad2
      Site ID: default-first-site
      Owner ID: [email protected]
      Version: 5.5
      Endpoints:
      Type: com.vmware.vim
      Protocol: vmomi
      URL: https://Legacy_vCenter.domain.local:443/sdk

    5. 要取消注册重复的服务端点,请运行以下命:

      "%VMWARE_PYTHON_BIN%" "%VMWARE_CIS_HOME%\VMware Identity Services\lstool\scripts\lstool.py" unregister --url http://localhost:7080/lookupservice/sdk --id Service_ID from Step 4 --user "[email protected]" --password "administrator_password" --no-check-cert

      使用以下命令作为模型:

      "%VMWARE_PYTHON_BIN%" "%VMWARE_CIS_HOME%\VMware Identity Services\lstool\scripts\lstool.py" unregister --url http://localhost:7080/lookupservice/sdk --id 608AF497-B198-40D1-9855-545533A488AF --user "[email protected]" --password "VMware123!" --no-check-cert

    对于 Appliance

    1. 通过 SSH 连接到 Platform Services Controller。
    2. 运行以下命令以启用对 Bash shell 的访问:

      shell.set --enabled true

    3. 键入 shell,然后按 Enter
    4. 要创建包含已在 Platform Services Controller 中注册的服务的列表的文本文件,请运行以下命令:

      /usr/lib/vmidentity/tools/scripts/lstool.py list --url http://localhost:7080/lookupservice/sdk --type vcenterserver > /tmp/psc_services.txt

    5. 打开生成的文本文件,查找注册到 Platform Services Controller 的服务的列表。

      在该文本文件中,您会看到类似以下内容的输出:

      Name: AboutInfo.vpx.name
      Description: AboutInfo.vpx.name
      Service Product: com.vmware.cis
      Service Type: vcenterserver
      Service ID: 1dbc3e9f-626d-4314-8731-ca744a0d9f4b
      Site ID: home
      Node ID: d3eba55a-d4df-11e4-b3f7-000c2987c143
      Owner ID: [email protected]
      Version: 6.0
      Endpoints:
      Type: com.vmware.cis.workflow
      Protocol: vmomi
      URL: http://vcsa2.domain.local:8088

      Name: AboutInfo.vpx.name
      Description: AboutInfo.vpx.name
      Service Product: com.vmware.cis
      Service Type: vcenterserver
      Service ID: 6ae3bf1a-9318-4a33-b2cb-d2eaa7a306c5
      Site ID: home
      Node ID: 44b05c52-d4d3-11e4-830b-000c29a0e10e
      Owner ID: [email protected]
      Version: 6.0
      Endpoints:
      Type: com.vmware.cis.workflow
      Protocol: vmomi
      URL: http://vcsa1.domain.local:8088

    6. 要取消注册重复的服务端点,请运行以下命:

      /usr/lib/vmidentity/tools/scripts/lstool.py unregister --url http://localhost:7080/lookupservice/sdk --id Service_ID from Step 5 --user '[email protected]' --password 'administrator_password' --no-check-cert

      使用以下命令作为模型:

      /usr/lib/vmidentity/tools/scripts/lstool.py unregister --url http://localhost:7080/lookupservice/sdk --id 6ae3bf1a-9318-4a33-b2cb-d2eaa7a306c5 --user '[email protected]' --password 'VMware123!' --no-check-cert


Additional Information

“Failed to verify the SSL certificate for one or more vCenter Server Systems” error in the vSphere Web Client