手把手教你用SSH和WinSCP搞定Vcenter 6.5证书过期(含上传脚本报错解决)

张开发
2026/4/19 6:16:43 15 分钟阅读

分享文章

手把手教你用SSH和WinSCP搞定Vcenter 6.5证书过期(含上传脚本报错解决)
VCSA 6.5证书更新全流程实战指南从SSH连接到服务恢复当你发现vSphere Web Client突然无法登录控制台弹出证书过期警告时这意味着VCSA 6.5的核心安全凭证已失效。不同于常规服务重启证书更新需要一套完整的操作链——从建立SSH连接、上传修复工具到执行多阶段证书替换。本文将用真实环境测试验证的步骤带你穿透整个过程。1. 建立稳定运维通道SSH与Shell环境配置在证书失效的情况下Web界面通常已不可用SSH成为唯一的救命稻草。但直接连接可能会遇到两个障碍默认的Appliance Shell功能受限以及密码策略导致的认证失败。1.1 突破受限Shell环境VCSA 6.5默认使用Appliance Shell这个精简环境会限制许多必要命令的执行。切换到完整Bash Shell是首要操作# 检查当前Shell类型 echo $SHELL # 切换至Bash Shell chsh -s /bin/bash root重要提示完成所有操作后务必执行chsh -s /bin/appliancesh root切回默认Shell这是VMware官方建议的安全实践。1.2 密码重置与连接优化如果遇到密码过期问题使用vdcadmintool重置是最快解决方案/usr/lib/vmware-vmdir/bin/vdcadmintool在交互界面中选择选项3输入administratorvsphere.local作为UPN系统将生成临时密码。建议立即通过vSphere Client修改为符合复杂度要求的永久密码。针对WinSCP连接超时问题Host is not communicating错误可尝试以下调整在WinSCP会话选项中关闭优化连接缓冲区大小协议选择SCP而非SFTP高级设置中将保持活动信号间隔设为30秒2. 证书诊断与修复工具部署证书问题往往不是孤立事件需要系统化诊断。通过vecs-cli可以全面扫描证书存储状态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 -E Alias|Not After done典型输出会显示多个存储库SSL、MACHINE、VPXD等的证书过期情况。记录所有过期证书的Alias名称后续步骤需要这些信息。2.1 修复脚本部署技巧从VMware KB下载的修复脚本checksts.py和fixsts.sh需要通过WinSCP上传。推荐使用/tmp目录作为中转站# 设置脚本权限 chmod x /tmp/{checksts.py,fixsts.sh} # 移动到合适位置 mv /tmp/{checksts.py,fixsts.sh} /root/如果遇到文件传输中断可以尝试分块压缩上传# 本地拆分压缩 split -b 10M fixsts.sh fixsts.sh.part. # 服务器端合并 cat fixsts.sh.part.* fixsts.sh3. 分阶段证书更新策略证书更新必须遵循特定顺序否则可能导致服务启动失败。正确的流程应该是STS证书→机器证书→服务证书。3.1 优先处理STS证书STSSecurity Token Service证书是认证基础必须最先修复./checksts.py # 验证STS状态 ./fixsts.sh # 执行修复完成后立即验证时间同步状态这是SSO服务的常见故障点# 检查NTP同步状态 /usr/bin/ntpq -p # 强制时间同步 /usr/sbin/ntpdate -u pool.ntp.org3.2 全面证书更新操作通过certificate-manager执行完整更新/usr/lib/vmware-vmca/bin/certificate-manager选择选项8进入证书替换流程关键参数配置建议参数项推荐值注意事项HostnameVCSA完全限定域名必须与DNS记录一致VMCA Name同HostnameIP部署时使用IP地址证书有效期730天默认不建议超过默认值4. 服务恢复与验证证书更新后需要有序重启服务直接使用--start --all可能导致依赖问题# 分阶段停止服务 service-control --stop vmware-vpxd service-control --stop vmware-sts-idmd # 按依赖顺序启动 service-control --start vmware-sts-idmd service-control --start vmware-vpxd service-control --start vmware-vapi-endpoint验证服务状态的正确方法# 检查关键服务状态 service-control --status vmware-sts-idmd service-control --status vmware-vpxd # 查看证书生效情况 /usr/lib/vmware-vmafd/bin/vecs-cli entry getcert --store MACHINE --alias __MACHINE_CERT5. 后期维护与问题排查证书更新后会产生备份存储BACKUP_STORE建议在稳定运行24小时后清理# 列出备份证书 /usr/lib/vmware-vmafd/bin/vecs-cli entry list --store BACKUP_STORE # 安全删除示例 /usr/lib/vmware-vmafd/bin/vecs-cli entry delete \ --store BACKUP_STORE \ --alias bkp___MACHINE_CERT \ -y日志分析是排查问题的关键重点关注以下日志文件/var/log/vmware/vmcad/certificate-manager.log证书操作详细记录/var/log/vmware/vpxd/vpxd.logvCenter核心服务日志/var/log/vmware/sso/ssoAdminServer.log认证服务日志当遇到服务无法启动时可尝试重建STS配置export JAVA_BIN/usr/java/jre-vmware/bin/java export CLASSPATH/opt/vmware/lib64/*:/usr/lib/vmware-sso/commonlib/* $JAVA_BIN -cp $CLASSPATH com.vmware.identity.installer.STSInstaller \ --install \ --root-cert-path /etc/vmware-sso/keys/ssoserverRoot.crt \ --cert-path /etc/vmware-sso/keys/ssoserverSign.crt \ --private-key-path /etc/vmware-sso/keys/ssoserverSign.key这套流程在三个不同环境的VCSA 6.5上验证通过最复杂的案例涉及同时过期的六种证书。关键点在于严格按照顺序操作并在每个阶段后验证结果。某次生产环境修复中我们发现NTP服务偏差超过5分钟导致SSO异常调整时间同步后问题迎刃而解。

更多文章