VC登录失败排查指南:密码正确但证书过期的解决方案
1. 遇到VC登录失败时先别慌最近在帮客户排查VC登录问题时遇到一个典型场景密码明明输入正确却死活登不进去页面提示503 Service Unavailable。这种情况十有八九是证书过期导致的。我自己第一次遇到时也是一头雾水后来才发现这是虚拟化环境中很常见的问题。今天就带大家完整走一遍排查流程手把手教你如何解决证书过期导致的登录故障。首先我们要明确几个关键点VCvCenter是VMware虚拟化环境的管理中枢所有虚拟机操作都要通过它来完成。证书在这里相当于数字身份证用来验证身份和加密通信。当证书过期时就像身份证过了有效期系统会拒绝所有访问请求。有趣的是证书过期往往发生在凌晨因为很多证书的有效期是按UTC时间计算的和我们的时区有偏差。遇到这种情况先别急着重装系统。按照我的经验90%的类似问题都能通过更新证书来解决。我们需要依次完成以下步骤检查存储空间→验证证书状态→更新过期证书→重启服务。整个过程大概需要30分钟到1小时建议安排在业务低峰期操作。2. 排查前的准备工作2.1 必备工具和权限在开始之前确保你具备以下条件能够通过SSH连接到vCenter Server的root权限记下vCenter的PNID主要网络标识符通常就是它的IP或FQDN准备好SSO管理员账号密码格式是Administratorvsphere.local确认有足够的存储空间至少10GB可用我建议先用记事本记录这些信息SSH IP: [你的vCenter IP] SSH账号: root SSH密码: [你的密码] PNID: [例如192.168.1.100] SSO账号: Administratorvsphere.local SSO密码: [你的密码]2.2 检查存储空间登录SSH后第一件事就是检查存储空间。运行命令df -h重点看这几个挂载点/ 根目录至少保留20%空间/storage/log 日志目录不超过80%/storage/db 数据库目录不超过70%如果发现存储将满可以先清理日志cd /storage/log find . -type f -name *.log -mtime 30 -exec rm {} \;3. 诊断证书状态3.1 检查所有证书有效期运行这个命令可以列出所有证书及其过期时间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重点关注这些关键证书MACHINE_SSL_CERT机器SSL证书vpxdvCenter服务证书vsphere-webclientWeb客户端证书输出示例STORE MACHINE_SSL_CERT Not After : Aug 27 2021 GMT ← 已过期 STORE vpxd Not After : Aug 27 2021 GMT ← 已过期3.2 验证证书链完整性使用这个Python脚本可以检查证书链如果没有可以私信我要python checksts.py健康的状态应该显示VALID CERTS LEAF CERTS: [正常证书列表] ROOT CERTS: [根证书列表] 0 EXPIRED CERTS 如果看到过期证书会明确显示过期时间和证书指纹。4. 证书更新全流程4.1 重置所有证书运行证书管理器/usr/lib/vmware-vmca/bin/certificate-manager选择第8项Reset all Certificates然后按提示操作输入Y确认使用配置文件提供SSO管理员凭据按需修改证书参数建议保持默认确认IP和主机名正确连续输入两个y确认操作关键步骤截图[Reset Machine SSL Cert...] Reset status : 100% Completed [Reset completed successfully]4.2 特殊处理STS证书有时还需要单独更新STS证书./fixsts.sh这个脚本会要求确认已做快照备份输入SSO管理员密码自动检测环境信息重新生成STS证书成功后会提示Replacement finished - Please restart services5. 重启与验证5.1 完整重启流程先强制重启reboot -f等待10分钟后验证服务状态service-control --status --all应该看到所有服务都是running状态。5.2 最终验证步骤打开浏览器访问https://[你的VC地址]/ui使用SSO账号登录检查各功能模块是否正常运行这个命令确认新证书有效期/usr/lib/vmware-vmafd/bin/vecs-cli entry list --store MACHINE_SSL_CERT --text | grep Not After应该显示未来2-5年的日期。6. 避坑指南根据我处理过50案例的经验这些坑一定要注意时间不同步问题确保vCenter时间与NTP服务器同步否则新证书可能立即过期timedatectl set-ntp true多节点环境如果有多个PSC需要在每个节点执行相同操作备份问题操作前务必做快照我曾遇到一个案例因为没备份导致要重建整个VC浏览器缓存清理浏览器SSL状态否则可能继续报错Chromechrome://net-internals/#hstsFirefoxabout:preferences#privacy → Clear Data证书信任链如果使用自签名证书记得将新证书导入到所有客户端的信任库这套方法在6.5/6.7/7.0版本都测试通过如果遇到特殊情况可以查看/var/log/vmware/vpxd-svcs.log获取详细错误信息。记住证书有效期一般是2年建议在日历设置提醒提前1个月更新。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2409493.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!