vCenter无法登录 | 需要用户名和密码 | User name and password are required

vCenter无法登录”需要用户名和密码“ ”User name and password are required"

症状:

  • vCenter登录失败
  • vCenter网页界面明明输入了SSO账号administrator@vsphere.local和密码,但是还是提示“需要用户名和密码
  • 英文版的错误为:“User name and password are required
  • 没有过期的常规证书如SSL,和VCSA没有硬盘空间不足的情况,参考:https://vmlib.com/vcsa-commands

先说结论,大几率是因为STS服务的证书过期

vCenter STS是什么

vCenter STS的中文为”安全令牌服务“。vCenter 的安全令牌服务 (STS) 是负责签发、验证和更新安全令牌的重要服务,尤其在单点登录 (SSO) 环境中。STS 通过生成并签署安全断言标记语言 (SAML) 令牌来确保 vSphere 服务之间的安全通信。这些令牌用于认证用户和服务,确保它们在 vSphere 基础架构内安全地交互。

STS 签名证书的作用是用于对这些 SAML 令牌进行签名。默认情况下,这个证书是由 VMware 证书颁发机构 (VMCA) 管理的,有较长的有效期。通常,用户不需要替换 STS 签名证书,因为它并不用于外部通信。然而,如果公司的安全策略要求,或证书过期时,管理员可以通过 vSphere Web Client 或 API 来手动更新或替换该证书。

如果STS签名证书过期,就会出现上述问题,无法登录vCenter并报错”需要用户名和密码“或”User name and password are required“

如何验证STS证书是否过期?

一般来说,可以正常登录的情况下,vCenter vSphere Client的GUI就可以看到

具体位置在vCenter点击菜单 – 管理Administration – 证书管理Certificate Management

但是我们现在登陆不到的状态下,只能通过VMware官方的checksts.py脚本检查。

https://knowledge.broadcom.com/external/article?legacyId=79248(Checking Expiration of STS Certificate on vCenter Servers)

注意:STS证书的状态不能通过常规检查SSL证书的命令查看,见https://vmlib.com/vcsa-commands的“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

只能通过VMware官方的checksts.py脚本检查,具体步骤和截图为:

  1. 拉到文章底部,下载checksts.py脚本
  2. 将脚本上传至VCSA的/tmp目录
  3. cd 到脚本目录
  4. 执行脚本#python checksts.py
  5. 当见到下列字句时,证明STS证书已经过期 “You have expired STS certificates”

如何更新STS证书

很简单,VMware官方也有做好的脚本去更新STS证书:

https://knowledge.broadcom.com/external/article?legacyId=76719 (文章名字”Signing certificate is not valid” error in vCenter Server Appliance)

更新STS证书的具体步骤:

  1. 同样去到上面的KB文章,拉到文章底部,下载fixsts.sh脚本
  2. 上传fixsts.sh脚本到VCSA的/tmp目录
  3. 这次是shell脚本,所以要添加执行权限#chmod +x fixsts.sh
  4. 执行脚本#./fixsts.sh,输入administrator@vsphere.local密码
  5. 执行完毕后,会见到类似下面的提示

成功更新STS证书后,按照提示需要重启VCSA全部服务:

  • #service-control –stop –all && service-control –start –all

大概等10-20分钟全部服务重启后,重新刷新浏览器就可以成功登录vCenter了

注意:如果vCenter是设置了Linked Mode,其他节点的服务也需要重启一下。

图书推介 - 京东自营

24小时热门

需要协助?或者只是想技术交流一下,直接联系我们!

推荐更多

如何将ESXi主机置于或退出维护模式?
运维必备

如何将ESXi主机置于或退出维护模式?

本文介绍了三种将ESXi主机置于维护模式或退出维护模式的方法。分别通过vSphere客户端、ESXi主机客户端和命令行界面(CLI)进行操作。每种方法都提供了详细的步骤,帮助系统管理员有效地管理ESXi主机的维护工作。

戴尔OEM版ESXi安装包与VMware原版安装包有何不同?
VMware快速入门

戴尔OEM版ESXi安装包与VMware原版安装包有何不同?

这篇文章对比了Dell OEM版本和VMware原厂版本的ESXi安装包,重点分析了驱动集成、功能定制和版本发布时效等方面的差异。Dell OEM版本为Dell服务器定制了专门的驱动程序,提供更好的硬件兼容性和更简便的安装过程。而VMware原厂版本则适用于更广泛的硬件,更新发布更为及时。通过这些比较,用户可以根据自身需求选择更合适的ESXi版本。

如何备份VMware vCenter Server Appliance(VCSA)的文件
VMware快速入门

如何备份VMware vCenter Server Appliance(VCSA)的文件

本文以vCenter Server Appliance 7.0(VCSA 7.0)为例,详细介绍了如何通过自动备份和手动备份两种方式,对VCSA进行文件级别的备份配置,确保数据安全和业务连续性。内容涵盖备份前的准备工作、操作步骤及注意事项,为管理员提供了实用的参考指南。

VMware快速入门

如何使用ESXCLI命令删除VMware ESXi上的软件包

这篇文章介绍了如何在VMware ESXi上移除VIB包,VIB包是用于扩展ESXi功能的软件组件。通过正确的方法删除不需要的VIB包,可以帮助优化系统性能并确保兼容性。