vSphere замена истекшего сертификата
vSphere замена истекшего сертификата vCenter Appliance
Недавно наш заказчик пришел с проблемой потери управления виртуализированной инфраструктурой.

При попытке авторизации в консоль vSphere
An error occurred during authentication
Ошибку следует диагностировать просмотром сертификата – который истек (видно из браузера).
При попытке входа в vCenter консоль (Appliance Management) для просмотра состояния сервисов
|
1
2
|
Exception in invoking authentication handler[SSL.CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:719) |
Проблема в том, что при истекшем сертификате не попасть в консоль управления так как не может аутентифицировать, где по процедуре можно заменить сертификат из web- консоли.

Причину подтвердим просмотром трейса ошибки:
|
1
2
|
javax.net.ssl.SSLHandshakeException: com.vmware.vim.vmomi.client.exception.VlsiCertificateException: Server certificate chain is not trusted and thumbprint verification is not configured |
Ошибки при истекшем сертификате будут вида
Что такая-то служба не может соединиться (так как не устанавливается защищенное соединение с vCenter Appliance из-за невалидного сертификата)
|
1
2
3
|
Authentication failed, Update Manager server could not be contacted.An unexpected error has occurred. |
а это, сами понимаете, «привет» управлению инфраструктурой и работе служб vSphere.
Что делать?
Нужно заменить истекший сертификат в vCenter Appliance. Но есть ньюансы.
При отсутствии доступа в web-консоль vCenter Appliance Management
|
1
2
|
Exception in invoking authentication handler[SSL.CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:719) |
Остается доступ через коммандную строку в виртуальную машину.
Собственно этот путь (через подключения к ESXi) с вызовом консоли машины с vCenter Appliance и потребуется проделать для замены истекшего сертификата, если на машине выключен SSH в целях безопасности.
Но где лежит сертификат и как его правильно заменить?
Оказывается, что для генерации сертификата vCenter Server Appliance имеет утилиту Certificate Manager.
Для начала подключитесь к vCenter через ssh или через консоль виртуальной машины с vCenter через гипервизор ESXi где она функционирует.
-
Запустите /usr/lib/vmware-vmca/bin/certificate-manager
-
Если Вам приемлем Self-Signed Certificate и нужно быстро восстановить доступ
- Выбирите пункт 4 Regenerate a new VMCA Root Certificate and replace all certificates и введите пароль для administrator@vsphere.local
- Далее последовательно заполните поля с учетом того, что Name, Hostname и VMCA должны соответствовать Primary Network Identifier PNID .
-
Значение PNID можно посмотреть выполнив /usr/lib/vmware-vmafd/bin/vmafd-cli get-pnid --server-name localhost
-
123456789101112
Please configure certool.cfg file with proper values before proceeding to next step.Press Enter key to skip optional parameters or use Default value.Enter proper value for 'Country' [Default value : US] : (Note: Value for Country should be only 2 letters)Enter proper value for 'Name' [Default value : CA] :Enter proper value for 'Organization' [Default value : VMware] :Enter proper value for 'OrgUnit' [Default value : VMware Engineering] :Enter proper value for 'State' [Default value : California] :Enter proper value for 'Locality' [Default value : Palo Alto] :Enter proper value for 'IPAddress' [optional] :Enter proper value for 'Email' [Default value : email@acme.com] :Enter proper value for 'Hostname' [Enter valid Fully Qualified Domain Name(FQDN), For Example : example.domain.com] :Enter proper value for VMCA 'Name': - Нажмите Y (Yes) для продолжения.
- В случае неактуального сертификата в веб-консоли vCenter перезагрузите vCenter.
-
Если Вы хотите валидный сертификат полученный через центр сертификации
- В меню выберите пункт 1. Replace Machine SSL certificate with Custom Certificate и введите пароль для administrator@vsphere.local
- Укажите директорию, где будут помещены запросы на выпуск,
например /tmp/ssl/ - Далее последовательно заполните поля с учетом того, что Name, Hostname и VMCA должны соответствовать Primary Network Identifier PNID .
-
Значение PNID можно посмотреть выполнив /usr/lib/vmware-vmafd/bin/vmafd-cli get-pnid --server-name localhost
-
123456789
Country : Two uppercase letters only (Eg. US), the country where your company is located.Name : FQDN of the vCenter Server(This will be your Certificate Subject Alternate Name)Organization : Company NameOrgUnit : The name of your department within the organization. Example: "IT"State : The state/province where your company is locatedLocality : The city where your company is located.IPAddress : IP Address of vCenter Server, this field is OptionalEmail : Email AddressHostname : FQDN of vCenter Server(This field accepts multiple entries separated by comma. - Файл /tmp/ssl/vmca_issued_csr.csr передаем в центр сертификации для выпуска SSL сертификата.
- Помещаем выпущенный сертификат на систему, например, в /tmp/ssl/ в отдельной сессии
- Продолжаем импорт
12345678
Provide a valid custom certificate for Machine SSL.File : /tmp/ssl/machine_name_ssl.cerProvide a valid custom key for Machine SSL.File : /tmp/ssl/machine_name_ssl.keyProvide the signing certificate of the Machine SSL certificate.File : /tmp/ssl/Root64.cer - Нажмите Y (Yes) для продолжения.
- В случае неактуального сертификата в веб-консоли vCenter перезагрузите vCenter.
-