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

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

Причину подтвердим просмотром трейса ошибки:
Server certificate chain is not trusted and thumbprint verification is not configured
|
Ошибки при истекшем сертификате будут вида
Что такая-то служба не может соединиться (так как не устанавливается защищенное соединение с vCenter Appliance из-за невалидного сертификата)
An unexpected error has occurred. |
а это, сами понимаете, «привет» управлению инфраструктурой и работе служб vSphere.
Что делать?
Нужно заменить истекший сертификат в vCenter Appliance. Но есть ньюансы.
При отсутствии доступа в web-консоль vCenter Appliance Management
[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
-
123456789101112Please 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
-
123456789Country : 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/ в отдельной сессии
- Продолжаем импорт
12345678Provide 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.
-