1. 当VCSA突然无法登录时你的第一反应是什么那天早上刚到办公室就接到同事紧急电话VCSA管理界面死活登不进去了相信很多运维同学都遇到过这种突发状况。我第一反应是打开浏览器尝试访问VCSA的5480管理端口https://你的VCSA_IP:5480果然页面直接报错证书无效。这种情况十有八九是证书过期了——就像你家的门锁突然打不开很可能是钥匙到期失效了。为什么证书会突然过期VCSA默认安装时会生成自签名证书有效期通常只有2年。我见过太多案例都是因为管理员忽略了证书到期提醒直到某天突然被挡在管理界面外。更麻烦的是当证书过期后你连登录续订的入口都没有了就像被反锁在家门外。2. 快速诊断三步确认证书问题遇到登录失败先别慌按这个检查清单快速定位问题第一步看浏览器报错详情Chrome会显示NET::ERR_CERT_DATE_INVALIDFirefox提示SEC_ERROR_EXPIRED_CERTIFICATE。这些明确告诉你证书时间有问题。第二步检查系统时间在客户端电脑打开命令行输入date如果客户端时间偏差超过证书有效期比如客户端显示2020年那可能是时间同步问题。但如果是VCSA自身证书过期客户端时间再准确也没用。第三步直连5480端口在浏览器直接访问VCSA的5480管理端口注意是https。如果这里也报证书过期那就实锤了。我遇到过有同事折腾半天网络配置最后发现就是个简单的证书过期问题。3. 应急方案时间回溯大法证书过期后最直接的临时解决方案是——把VCSA的系统时间改回证书有效期内。这就像把时钟拨回到门锁还能用的日期。具体操作首先登录VCSA的5480管理界面虽然网页报错但实际连接已建立只是浏览器拦截了页面进入系统管理→时间配置取消勾选与NTP服务器同步开启SSH访问同一页面有开关用SSH客户端连接VCSA执行时间修改命令date -s 2022-12-22 10:00:00 # 改为你证书过期前的日期 hwclock --systohc # 将系统时间写入硬件时钟 service-control --start --all # 重启所有服务这个临时方案能让你重新登录管理界面但注意这只是权宜之计所有依赖时间的服务如日志、监控都会受影响VSAN环境可能出现性能监控异常需要额外处理后面会讲完成证书续订后务必恢复NTP时间同步4. 正式续订两种可靠方法4.1 图形化界面操作推荐新手登录VCSA管理界面https://VCSA_IP:5480进入证书管理→证书续订勾选所有过期证书点击续订新证书默认有效期2年确认后等待操作完成4.2 命令行操作适合批量处理对于STS证书等特殊类型需要用命令行处理。以VCSA 6.7为例下载官方修复脚本wget https://kb.vmware.com/s/article/76719 -O /tmp/fixsts.sh如果网络不通可以本地下载后用WinSCP上传到/tmp目录。遇到上传失败时先执行chsh -s /bin/bash执行修复chmod x /tmp/fixsts.sh /tmp/fixsts.sh按提示输入root密码脚本会自动完成续订。5. VSAN环境的特殊处理在VSAN集群中证书过期可能导致两个额外问题问题一性能监控服务异常症状是vCenter的VSAN性能图表无法加载。解决方法/usr/lib/vmware-vmon/vmon-cli --restart vmware-vsan-health问题二存储策略服务中断如果看到Object Health Service Unavailable报错需要service-control --restart vmware-vmdq-service我曾在一个生产环境遇到更复杂的情况——续订证书后VSAN集群仍显示告警。后来发现需要手动重建服务证书/usr/lib/vmware-vmdir/bin/vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT /usr/lib/vmware-vmdir/bin/vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert /etc/vmware-vpx/ssl/rui.crt --key /etc/vmware-vpx/ssl/rui.key service-control --restart vmware-vpxd6. 防患于未然证书监控方案经历过几次半夜紧急处理证书过期后我总结出这些预防措施设置日历提醒在证书到期前1个月设置多个提醒使用监控工具通过vROps或第三方工具监控证书有效期自动化续订脚本#!/bin/bash # 检查证书过期天数 expiry_days$(openssl x509 -in /etc/vmware-vpx/ssl/rui.crt -noout -enddate | cut -d -f2) remaining_days$(( ($(date -d $expiry_days %s) - $(date %s)) / 86400 )) if [ $remaining_days -lt 30 ]; then echo 证书即将过期自动续订... /usr/lib/vmware-vmon/vmon-cli --stop vmware-vpxd /usr/lib/vmware-vmon/vmon-cli --start vmware-vpxd fi文档记录在运维手册中标注所有证书的到期日7. 那些年我踩过的坑第一次处理VCSA证书过期时我犯了个低级错误——没备份原始证书就直接续订。结果新证书配置异常导致vCenter完全不可用。最后不得不从备份恢复多花了4个小时。现在我的操作清单里永远有这一条# 续订前必做备份 tar -czvf /root/vcsa_cert_backup_$(date %Y%m%d).tar.gz /etc/vmware-vpx/ssl/另一个常见误区是只续订了部分证书。VCSA有多个证书存储位置MACHINE_SSL_CERT、vpxd-extension等需要用这个命令检查所有证书for cert in $(find /etc/vmware -name *.crt); do echo $cert openssl x509 -in $cert -noout -dates done最后提醒证书续订后所有连接到vCenter的客户端PowerCLI、备份软件等可能需要重新信任新证书。有次我们自动化平台的脚本突然全部失败排查半天才发现是证书指纹变更导致的。
VCSA证书过期实战:从报错诊断到一键续订的完整指南
1. 当VCSA突然无法登录时你的第一反应是什么那天早上刚到办公室就接到同事紧急电话VCSA管理界面死活登不进去了相信很多运维同学都遇到过这种突发状况。我第一反应是打开浏览器尝试访问VCSA的5480管理端口https://你的VCSA_IP:5480果然页面直接报错证书无效。这种情况十有八九是证书过期了——就像你家的门锁突然打不开很可能是钥匙到期失效了。为什么证书会突然过期VCSA默认安装时会生成自签名证书有效期通常只有2年。我见过太多案例都是因为管理员忽略了证书到期提醒直到某天突然被挡在管理界面外。更麻烦的是当证书过期后你连登录续订的入口都没有了就像被反锁在家门外。2. 快速诊断三步确认证书问题遇到登录失败先别慌按这个检查清单快速定位问题第一步看浏览器报错详情Chrome会显示NET::ERR_CERT_DATE_INVALIDFirefox提示SEC_ERROR_EXPIRED_CERTIFICATE。这些明确告诉你证书时间有问题。第二步检查系统时间在客户端电脑打开命令行输入date如果客户端时间偏差超过证书有效期比如客户端显示2020年那可能是时间同步问题。但如果是VCSA自身证书过期客户端时间再准确也没用。第三步直连5480端口在浏览器直接访问VCSA的5480管理端口注意是https。如果这里也报证书过期那就实锤了。我遇到过有同事折腾半天网络配置最后发现就是个简单的证书过期问题。3. 应急方案时间回溯大法证书过期后最直接的临时解决方案是——把VCSA的系统时间改回证书有效期内。这就像把时钟拨回到门锁还能用的日期。具体操作首先登录VCSA的5480管理界面虽然网页报错但实际连接已建立只是浏览器拦截了页面进入系统管理→时间配置取消勾选与NTP服务器同步开启SSH访问同一页面有开关用SSH客户端连接VCSA执行时间修改命令date -s 2022-12-22 10:00:00 # 改为你证书过期前的日期 hwclock --systohc # 将系统时间写入硬件时钟 service-control --start --all # 重启所有服务这个临时方案能让你重新登录管理界面但注意这只是权宜之计所有依赖时间的服务如日志、监控都会受影响VSAN环境可能出现性能监控异常需要额外处理后面会讲完成证书续订后务必恢复NTP时间同步4. 正式续订两种可靠方法4.1 图形化界面操作推荐新手登录VCSA管理界面https://VCSA_IP:5480进入证书管理→证书续订勾选所有过期证书点击续订新证书默认有效期2年确认后等待操作完成4.2 命令行操作适合批量处理对于STS证书等特殊类型需要用命令行处理。以VCSA 6.7为例下载官方修复脚本wget https://kb.vmware.com/s/article/76719 -O /tmp/fixsts.sh如果网络不通可以本地下载后用WinSCP上传到/tmp目录。遇到上传失败时先执行chsh -s /bin/bash执行修复chmod x /tmp/fixsts.sh /tmp/fixsts.sh按提示输入root密码脚本会自动完成续订。5. VSAN环境的特殊处理在VSAN集群中证书过期可能导致两个额外问题问题一性能监控服务异常症状是vCenter的VSAN性能图表无法加载。解决方法/usr/lib/vmware-vmon/vmon-cli --restart vmware-vsan-health问题二存储策略服务中断如果看到Object Health Service Unavailable报错需要service-control --restart vmware-vmdq-service我曾在一个生产环境遇到更复杂的情况——续订证书后VSAN集群仍显示告警。后来发现需要手动重建服务证书/usr/lib/vmware-vmdir/bin/vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT /usr/lib/vmware-vmdir/bin/vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert /etc/vmware-vpx/ssl/rui.crt --key /etc/vmware-vpx/ssl/rui.key service-control --restart vmware-vpxd6. 防患于未然证书监控方案经历过几次半夜紧急处理证书过期后我总结出这些预防措施设置日历提醒在证书到期前1个月设置多个提醒使用监控工具通过vROps或第三方工具监控证书有效期自动化续订脚本#!/bin/bash # 检查证书过期天数 expiry_days$(openssl x509 -in /etc/vmware-vpx/ssl/rui.crt -noout -enddate | cut -d -f2) remaining_days$(( ($(date -d $expiry_days %s) - $(date %s)) / 86400 )) if [ $remaining_days -lt 30 ]; then echo 证书即将过期自动续订... /usr/lib/vmware-vmon/vmon-cli --stop vmware-vpxd /usr/lib/vmware-vmon/vmon-cli --start vmware-vpxd fi文档记录在运维手册中标注所有证书的到期日7. 那些年我踩过的坑第一次处理VCSA证书过期时我犯了个低级错误——没备份原始证书就直接续订。结果新证书配置异常导致vCenter完全不可用。最后不得不从备份恢复多花了4个小时。现在我的操作清单里永远有这一条# 续订前必做备份 tar -czvf /root/vcsa_cert_backup_$(date %Y%m%d).tar.gz /etc/vmware-vpx/ssl/另一个常见误区是只续订了部分证书。VCSA有多个证书存储位置MACHINE_SSL_CERT、vpxd-extension等需要用这个命令检查所有证书for cert in $(find /etc/vmware -name *.crt); do echo $cert openssl x509 -in $cert -noout -dates done最后提醒证书续订后所有连接到vCenter的客户端PowerCLI、备份软件等可能需要重新信任新证书。有次我们自动化平台的脚本突然全部失败排查半天才发现是证书指纹变更导致的。