VCSA 6.7证书过期别慌!手把手教你通过SSH修改系统时间恢复登录(附STS证书修复脚本)
2026/6/15 14:34:59 网站建设 项目流程

VCSA 6.7证书过期应急处理全指南:从诊断到根治的运维实战

当你清晨走进机房,习惯性打开浏览器准备登录vCenter管理界面时,突然跳出的红色证书警告页面像一盆冷水浇下来——系统拒绝所有连接请求,整个虚拟化平台的管理入口被完全锁死。这不是普通的登录故障,而是VCSA 6.7版本特有的"证书过期连锁反应"正在发生。作为经历过三次同类故障的老兵,我将带你用SSH这把"手术刀"直击问题核心,不仅恢复系统访问,更彻底修复证书体系。

1. 故障诊断与应急方案制定

证书过期引发的VCSA登录故障通常表现为三种典型症状:浏览器显示"此网站的安全证书已过期"警告且无法强制继续访问;5480管理端口返回"ERR_CERT_DATE_INVALID"错误;控制台界面出现"STS服务不可用"提示。这些现象背后,是VCSA内置的Machine SSL证书、STS证书等多重证书同时过期导致的认证链条断裂。

关键判断步骤

  1. 通过控制台直接访问VCSA 5480端口(https://<vcsa_ip>:5480)
  2. 观察证书过期日期与当前系统时间的差异
  3. 确认是否所有管理接口(443、5480等)均无法正常访问

遇到这种情况时,传统通过GUI更新证书的路径已被阻断。我们的应急方案需要分三步走:

  • 阶段一:通过SSH修改系统时间临时恢复访问
  • 阶段二:登录后更新所有过期证书
  • 阶段三:特殊处理STS证书并验证全功能

注意:时间修改操作会导致日志时间戳混乱,务必在业务低峰期操作并提前备份重要数据

2. SSH接入与系统时间校准

当Web界面完全瘫痪时,SSH成为唯一的管理通道。但VCSA默认禁用SSH访问,需要先在控制台界面启用:

  1. 通过物理控制台登录VCSA主机
  2. 选择"Troubleshooting Mode Options" → "Enable SSH"
  3. 设置临时root密码(若未设置过)

连接时建议使用支持保持会话的终端工具(如SecureCRT),避免长时间操作中断。以下是关键时间调整命令:

# 查看当前系统时间与硬件时间 date && hwclock --show # 禁用NTP同步(避免自动校正) timedatectl set-ntp 0 # 将时间回退到证书有效期内(示例调整为2022年) date -s "2022-12-22 09:00:00" hwclock --systohc # 验证时间修改是否生效 date -R && openssl x509 -in /etc/vmware-vpx/ssl/rui.crt -noout -dates

时间回退幅度建议不超过证书过期日期3个月,避免引发其他服务异常。操作完成后,立即启动所有服务:

service-control --start --all

此时Web界面应可临时访问,但需注意这仅是权宜之计——系统时间错误会导致备份失败、监控数据异常等问题,必须在证书更新后立即恢复正确时间。

3. 证书体系全面更新指南

成功登录后,进入"Administration" → "Certificate Management"开始证书更新:

  1. Machine SSL证书

    • 在"Certificates"标签页选择"VMCA Root"为签发者
    • 设置有效期不超过825天(新版限制)
    • 勾选"Replace Certificate"立即生效
  2. 解决方案用户证书

    • 进入"Solution Users"选项卡
    • 逐个选择vpxd-extensions、vpxd等解决方案用户
    • 点击"Renew Certificate"按钮
  3. 验证证书链完整性

    # 检查证书有效期 openssl x509 -in /etc/vmware-vpx/ssl/rui.crt -noout -dates # 验证证书链 openssl verify -CAfile /etc/vmware-vpx/ssl/root.cer /etc/vmware-vpx/ssl/rui.crt

证书更新过程中常见两个问题:一是更新按钮灰色不可点击,通常需要先刷新证书列表;二是某些服务证书更新后状态仍显示"过期",这可能需要强制重启vCenter服务:

service-control --stop --all && service-control --start --all

4. STS证书专项修复实战

VCSA 6.7版本存在一个特殊缺陷——Security Token Service(STS)证书无法通过GUI更新。这就是为什么即使完成上述操作后,部分用户仍会遇到"503 Service Unavailable"错误。解决方法是通过专用修复脚本处理:

  1. 从VMware知识库下载fixsts.sh脚本(KB76719)
  2. 使用SCP上传到VCSA的/tmp目录:
    scp fixsts.sh root@<vcsa_ip>:/tmp/
  3. 若SCP连接失败,先执行:
    chsh -s /bin/bash
  4. 运行修复脚本:
    chmod +x /tmp/fixsts.sh /tmp/fixsts.sh

脚本运行时会提示输入SSO管理员密码([email protected]),完成后需要二次重启服务:

service-control --restart vmware-stsd service-control --restart --all

为验证STS服务完全恢复,可以检查日志:

tail -f /var/log/vmware/sso/vmware-sts-idmd.log

正常状态下应无"CertificateExpired"相关错误。

5. 后期验证与系统加固

完成所有修复后,必须将系统时间恢复为当前真实时间:

timedatectl set-ntp 1 ntpdate -u pool.ntp.org hwclock --systohc

全面功能检查清单

  • [ ] vSphere Client所有功能模块可正常访问
  • [ ] vCenter HA状态显示正常(如果配置)
  • [ ] vSAN性能图表能正常显示(特别注意vSAN集群)
  • [ ] 所有插件(如备份软件、监控工具)连接正常
  • [ ] 定时任务(备份、报告)能按计划执行

为防止证书再次过期,建议建立证书生命周期管理机制:

  1. 创建证书到期日历提醒(提前90天)
  2. 部署监控系统对证书有效期进行主动检测
  3. 定期执行vCenter证书健康检查:
    /usr/lib/vmware-vmca/bin/certificate-manager

对于VSAN环境特有的性能服务异常,可能需要额外修复步骤:

/usr/lib/vmware-vsan/bin/performance-recovery.py

这次危机暴露的不仅是证书管理问题,更是运维体系中的监控盲点。建议将证书有效期检查纳入日常巡检清单,并考虑升级到VCSA 7.0及以上版本——新版本已改进证书自动续订机制,大幅降低此类风险。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询