news 2026/4/19 21:30:36

vSphere 6.7证书过期导致vCenter登录不了?别慌,这份保姆级修复指南(含fixsts.sh脚本详解)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
vSphere 6.7证书过期导致vCenter登录不了?别慌,这份保姆级修复指南(含fixsts.sh脚本详解)

vSphere 6.7证书过期紧急修复全流程:从诊断到恢复的实战指南

凌晨三点,运维团队的告警铃声突然响起——vCenter突然无法登录,整个虚拟化平台陷入瘫痪。这不是普通的系统故障,而是隐藏在系统深处两年的"定时炸弹"终于引爆:STS证书过期。本文将带您一步步走过这个惊心动魄的修复过程,不仅解决当前危机,更建立长效预防机制。

1. 紧急诊断:确认证书过期问题

当vCenter突然无法登录时,首先需要快速判断是否由STS证书过期引起。以下是典型的症状表现:

  • Web界面表现:输入正确凭证后反复跳回登录页面,或直接显示"400 Bad Request"错误
  • 错误提示特征:可能伴随"Signing certificate is not valid"或"503 Service Unavailable"等消息
  • 服务状态异常vmware-vpxd服务停止运行,无法自动恢复

快速验证方法

# 检查vpxd服务日志中的关键错误 tail -n 50 /var/log/vmware/vpxd-svcs/vpxd-svcs.log | grep -i "certificate" # 使用内置命令检查证书状态 /usr/lib/vmware-vmafd/bin/vecs-cli entry list --store vpxd-extension --text | grep -A 3 "Alias"

如果日志中出现类似"Signing certificate is not valid"的错误,且证书的"Not After"日期已经过去,即可确认是STS证书过期问题。

2. 修复前的关键准备工作

证书修复操作具有不可逆性,必须做好充分准备:

风险控制清单

  1. 创建离线快照:通过vSphere Client对vCenter虚拟机执行完整快照
  2. 备份关键配置
    # 备份证书存储 cp -r /etc/vmware/vmware-vmafd /root/vmafd-backup # 备份SSO配置 /usr/lib/vmware-vmca/bin/certool --backup --file=/root/vmca-backup.tar
  3. 准备维护窗口:通知所有用户系统将不可用,建议预留2小时维护时间
  4. 下载修复工具
    wget https://kb.vmware.com/sfc/servlet.shepherd/version/download/068f400000JAn50AAD2 -O /tmp/fixsts.sh chmod +x /tmp/fixsts.sh

注意:修复脚本必须在SSO域内的单个PSC上执行,嵌入式部署则直接在vCenter上运行

3. 分步执行修复脚本

获得fixsts.sh脚本后,按以下流程操作:

脚本执行流程

  1. 环境检查

    # 验证脚本完整性 head -n 5 /tmp/fixsts.sh | grep -q "VMware" && echo "脚本有效" || echo "脚本损坏" # 解决可能的格式问题 sed -i -e 's/\r$//' /tmp/fixsts.sh
  2. 实际执行

    cd /tmp ./fixsts.sh

    脚本运行时需要输入:

    • SSO管理员密码(通常是administrator@vsphere.local的密码)
    • 确认执行操作(按提示输入'y')
  3. 典型输出解析

    ================================== Resetting STS certificate for vcsa01.example.com Detected DN: cn=vcsa01,ou=Domain Controllers,dc=example,dc=com Detected PNID: vcsa01.example.com Detected SSO domain name: example.com ================================== Certificate regeneration completed successfully Please restart all services

常见错误处理

错误现象解决方案根本原因
"Operation timed out"手动逐个启动服务:
service-control --start vmware-vpxd
服务依赖关系导致启动超时
"bash: bad interpreter"执行格式转换:
dos2unix fixsts.sh
Windows换行符不兼容
"Permission denied"检查执行权限:
chmod +x fixsts.sh
脚本未赋予执行权限

4. 服务恢复与验证

脚本执行完成后,必须按顺序完成以下步骤:

服务重启序列

  1. 停止所有服务:
    service-control --stop --all
  2. 按顺序启动关键服务:
    for svc in vmdird vmware-sts-idmd vmware-postgres vmware-vpxd; do service-control --start $svc sleep 30 done
  3. 启动剩余服务:
    service-control --start --all

验证方法

# 检查新证书有效期 for store in $(/usr/lib/vmware-vmafd/bin/vecs-cli store list); do echo "=== $store ===" /usr/lib/vmware-vmafd/bin/vecs-cli entry list --store $store --text | grep -A 2 "STS" done # 测试Web访问 curl -k https://localhost/ui -I | grep "200 OK"

5. 长效预防机制建设

为避免未来再次出现证书过期问题,建议建立以下机制:

自动化监控方案

  1. 定期检查脚本(每月执行):

    #!/bin/bash EXPIRY=$(/usr/lib/vmware-vmafd/bin/vecs-cli entry getcert \ --store vpxd-extension --alias STS | openssl x509 -noout -enddate) echo "STS证书过期时间:$EXPIRY"
  2. 告警集成

    • 将证书检查纳入Zabbix/Nagios监控项
    • 设置提前90天、30天、7天的多级告警
  3. 证书生命周期管理

    • 建立所有vSphere证书的登记表
    • 对即将到期的证书设置日历提醒

版本升级建议

  • vSphere 7.0+已改进证书管理机制
  • 如无法立即升级,至少应用最新补丁:
    # 检查可用更新 vumcli update get --all

6. 高级故障排除技巧

当标准流程失效时,可尝试以下方法:

深度修复方案

  1. 手动证书替换

    # 生成新证书 /usr/lib/vmware-vmca/bin/certool --gencert \ --config=/usr/lib/vmware-vmca/share/config/vmca.cfg \ --outcert=/tmp/newsts.crt --outprivkey=/tmp/newsts.key # 导入证书 /usr/lib/vmware-vmafd/bin/vecs-cli entry create \ --store vpxd-extension --alias STS --cert /tmp/newsts.crt \ --key /tmp/newsts.key
  2. 数据库修复

    # 备份VMDIR数据库 /opt/vmware/bin/vmdirdb-backup -u administrator -w <password> -b /root/vmdir-backup # 必要时执行修复 /opt/vmware/bin/vmdir_recover -H /var/lib/vmware/vmdir -E

日志分析要点

  • 重点关注/var/log/vmware/vpxd/vpxd.log中的证书相关错误
  • 使用时间过滤加速排查:
    grep -n "certificate" /var/log/vmware/vpxd/vpxd.log | awk -F: '{print "行号:"$1,"内容:"$3}'

7. 架构层面的最佳实践

从长期运维角度,建议:

证书管理策略

  • 使用企业CA:替代VMCA签发证书,实现集中管理
  • 标准化有效期:统一设置为5年,避免频繁更换
  • 自动化续订:通过PowerCLI脚本实现证书自动更新:
    Connect-VIServer -Server vcsa01 Get-VICertificate | Where {$_.DaysUntilExpire -lt 30} | Update-VICertificate -Confirm:$false

环境加固建议

  1. 启用证书吊销检查:
    vmdir-cli set-config -k "certificateRevocationCheck" -v "required"
  2. 配置证书透明度日志:
    /usr/lib/vmware-vmca/bin/certool --set-transparency --url ct.example.com

在完成所有修复步骤后,记得更新运维文档,记录此次事件的处理过程和经验教训。虚拟化平台的稳定性不仅依赖于技术方案,更需要完善的运维流程和应急机制作为保障。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/19 21:15:28

[具身智能-390]:普罗米修斯电影的寓意以及人与机器之间的关系?

《普罗米修斯》这部电影远不止是一部《异形》的前传&#xff0c;它更像是一部披着科幻惊悚外衣的哲学寓言。导演雷德利斯科特通过这部电影&#xff0c;将视角从单纯的“打怪兽”拉高到了对宇宙、生命起源以及造物主与被造物关系的终极拷问。结合电影的情节与深层隐喻&#xff0…

作者头像 李华
网站建设 2026/4/19 21:12:24

23 亿 tokens 2283 美元:Claude Opus 一周写出完整 Chrome RCE 漏洞利用链

2026年4月15日&#xff0c;安全公司Hacktron的CTO Mohan Pedhapati&#xff08;网名s1r1us&#xff09;发布了一项足以震动整个网络安全行业的研究成果。他没有使用任何复杂的黑客工具&#xff0c;也没有花费数月时间进行逆向工程&#xff0c;仅仅通过与Anthropic已公开的Claud…

作者头像 李华
网站建设 2026/4/19 20:56:18

Altium AD20差分对走线实战:如何快速设置6mil线宽与间隙

Altium AD20差分对走线实战&#xff1a;6mil线宽与间隙的高效实现 在高速PCB设计中&#xff0c;差分信号传输已成为应对电磁干扰和信号完整性问题的主流解决方案。作为一名长期奋战在一线的PCB设计工程师&#xff0c;我深刻理解在Altium Designer 20中快速准确设置差分对参数的…

作者头像 李华