VMware vCenter: истек STS сертификат (SSO не работает)
Описание
При истечении STS (Security Token Service) сертификата в VMware vCenter перестает работать SSO и административный доступ.
Типичные симптомы:
- невозможен вход в vCenter (UI / API);
- ошибки авторизации;
Invalid credentials;Failed to authenticate token;STS certificate expired;- не запускаются или падают сервисы vCenter.
Контекст
Типичные сценарии:
- истечение срока сертификатов;
- откат snapshot vCenter;
- восстановление из бэкапа;
- рассинхронизация времени (NTP);
- некорректное обновление vCenter;
- проблемы с репликацией SSO.
Основная причина
STS сертификат используется для выпуска токенов аутентификации внутри vCenter.
Если он:
- истёк,
- поврежден,
- или не соответствует текущему состоянию SSO,
→ вся цепочка аутентификации перестает работать.
⚠️ Риски
- полный отказ доступа к vCenter;
- невозможность управлять инфраструктурой;
- потеря доступа к API/автоматизации;
- ошибки при работе связанных систем (backup, monitoring и т.д.).
Диагностика
1. Проверка срока действия сертификатов
openssl x509 -in /var/lib/vmware/vmca/root.cer -noout -dates2. Проверка всех сертификатов (рекомендуется)
for store in $(/usr/lib/vmware-vmafd/bin/vecs-cli store list); do
echo "STORE: $store"
/usr/lib/vmware-vmafd/bin/vecs-cli entry list --store $store --text | grep -E "Alias|Not After"
doneВажно:
- искать просроченные сертификаты;
- особенно
STS,MACHINE_SSL_CERT,TRUSTED_ROOTS.
3. Проверка сервисов
service-control --status4. Проверка логов
/var/log/vmware/sso/
/var/log/vmware/vmdird/
/var/log/vmware/vpxd/Решение
⚠️ Перед началом
Обязательно:
- сделать offline snapshot всех vCenter / PSC;
- убедиться в корректном времени (NTP);
- иметь пароль:
administrator@vsphere.local
1. Подготовка
mkdir -p /tmp/vmware-fixsts
cd /tmp/vmware-fixsts2. Использование официального скрипта
Оригинальный скрипт:
Скопировать его:
vi fix_sts_cert.shВставить содержимое.
3. Запуск
chmod +x fix_sts_cert.sh
./fix_sts_cert.shВо время выполнения потребуется пароль:
administrator@<SSO_DOMAIN>
4. Перезапуск сервисов
service-control --stop --all
service-control --start --allили:
reboot5. Пересоздание VMCA Root (если требуется)
Если root сертификат истёк:
/usr/lib/vmware-vmca/bin/certificate-managerВыбрать:
Option 4 — Regenerate a new VMCA Root Certificate and replace all certificates
Проверка
- вход в vCenter восстановлен;
- SSO работает;
- сервисы в статусе
running; - нет критичных ошибок в логах.
Частые кейсы
1. После snapshot всё сломалось
Причина:
- несогласованное состояние SSO
Решение:
- reset STS сертификата
2. Истек только root
Решение:
certificate-manager (Option 4)
3. После фикса не работает
Причина:
- не пересоздан root
- или проблема глубже (LDAP / SSO)
4. Hybrid Linked Mode
Требуется:
- повторная синхронизация сертификатов
5. Проблемы со временем
Проверка:
ntpq -pОграничения
- не исправляет проблемы репликации SSO;
- не решает проблемы инфраструктуры;
- требует консольного доступа;
- критично выполнять с snapshot.
Когда использовать
- истёк STS сертификат;
- не работает SSO;
- ошибки авторизации;
- после восстановления или snapshot.