VMware vSphere 5.5 任何身份验证尝试失败

Grz*_*zki 6 vmware-vcenter vmware-vsphere

在基于 VMWare vSphere 5.5 Windows 的环境中,任何身份验证尝试都会失败(需要一些时间)。

日志提到了如下几行:

ERROR  [IdentityManager] Failed to find solution user 
by subject DN [1.2.840.113549.1.9.1=#1612737570706f727440766d776172652e636f6d,CN=localdomain.local,OU=VMware\, Inc.,O=VMware\, Inc.] in tenant [vsphere.local] 
ERROR  [ServerUtils] Exception 'java.lang.IllegalStateException: More than one solution user found' 
Run Code Online (Sandbox Code Playgroud)

可能是什么原因?

Grz*_*zki 8

发生了什么

不确定发生了什么,但也许整个描述对某人有帮助。

通常在端口 11711 上运行的 vSphere 的内部 LDAP 目录的条目已损坏。导致奇怪的观察 - 人们可以对例如 webclient 进行身份验证,但无法在那里做更多的事情,因为它充斥着诸如“客户端未通过 VMware Inventory Service 身份验证 - https://myserverFQDN:10443 ”之类的消息

解决方案

使用 LDAP 客户端(例如 LDAPAdmin)使用以下连接标准登录到服务器:

host:          localhost
port:          11711
version:       3
Base:          dc=vsphere,dc=local
Username:      cn=Administrator,cn=Users,dc=vsphere,dc=local
Password:      the one for administrator@vsphere.local
Run Code Online (Sandbox Code Playgroud)

导航cn=ServicePrincipals并检查它们vmwSTSSubjectDN以确保它们是唯一的。不知道什么是正确的。在其他一些安装中,我发现:

InventoryService                1.2.840.113549.1.9.1=#1612737570706f727440766d776172652e636f6d,CN=VMware default certificate,OU=InventoryService_2013.07.31_145941,O=VMware\, Inc.
vCenterServer                   1.2.840.113549.1.9.1=#1612737570706f727440766d776172652e636f6d,CN=VMware default certificate,OU=vCenterServer_2013.07.31_150056,O=VMware\, Inc.
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,最后一部分(OU=,O=)可能会有所不同

类似问题的提示

我发现有用的是反编译com.vmware.identity.idm.server.provider.vmwdirectory.VMwareDirectoryProvider在 vSphere 安装的其中一个 JAR 中找到的类。事实证明,它包含一些硬编码的 LDAP 查询,这些查询可能对 VMWare 的内部 LDAP 服务器的其他一些故障排除很有用。(出于许可原因,我最好不要将其粘贴在这里)。为了反编译第 3 方 Java 类,我学会了使用http://www.javadecompilers.com。CFR 一个真的很好用。