Каждый раз процесс установки сертификата на vСenter проходил у меня с какими-то проблемами. На этот раз тоже не обошлось без трудностей, однако, их удалось все преодолеть.
Ставим корпоративный сертификат на vCenter 6.7. Задача: сгенерировать и установить на vCenter 6.7 сертификат, удовлетворяющий условиям:
- Сделать шаблон vSphere 6.7 в центре сертификации. Срок действия сертификата 5 лет.
- Поддержка нескольких алиасов и IP адреса.
- Сгенерировать сертификат и установить на vCenter.
Сделать шаблон vSphere 6.7 в центре сертификации
Это задача вынесена в отдельную статью. Здесь рассказывается как сделать шаблон в центре сертификации и настроить срок действия на 5 лет.
Добавление шаблона vSphere 6.7 в центр сертификации
Поддержка нескольких алиасов и IP адреса
Эта задача тоже вынесена в отдельную статью.
Создание SSL сертификата с альтернативными доменными именами
Подготовительные работы
Скачиваем корневые сертификаты из центра сертификации.
Воспользуемся ссылкой Download a CA certificate, certificate chain, or CRL.
Download CA certificate. А если у вас несколько уровней, то скачиваем цепочку — Download CA certificate chain.
В случае с цепочкой нам нужен только этот файл. P7B переводим в PEM:
Windows — конвертация P7B в PEM с помощью подсистемы Linux
Лишние строки из результирующего файла можно удалить вручную.
Сгенерировать сертификат
Генерировать будем через shell. Для начала включим его. Заходим в админку vCenter 6.7. Обычно на порту 5480.
Логин root, пароль тот, что указывали при установке vCenter 6.7.
Переходим в раздел Access > Access Settings.
Видим, что Bash Shell — Disabled. Нажимаем EDIT.
Включаем Enable BASH Shell. Устанавливаем в минутах через сколько BASH Shell отключится. Ну хотя бы 500 минут, нам и меньше хватит.
Заходим на vCenter по SSH. Я использую putty.
Попадаем в CLI. Если Shell не включить, то при запуске команды:
shell
увидим ошибку: "Shell is disabled".
А если shell включили, то ошибки нет:
Переключаемся в sudo:
sudo -i
shell
Вот мы и под рутом. Выполняем команду:
/usr/lib/vmware-vmca/bin/certificate-manager
Запускается скрипт.
*** Welcome to the vSphere 6.7 Certificate Manager ***
Выбираем первый пункт.
Replace Machine SSL certificate with Custom Certificate
Вводим "1". Логинимся под administrator@vsphere.local.
Для начала генерируем CSR (Certificate Signing Request), нажимаем "1".
И тут нас начинают спрашивать:
- Output directory path: /tmp
- Country: RU
- Name: FQDN адрес vcenter
- Organization: YourCompany (название вашей компании)
- OrgUnit: IT
- State: Moscow
- Locality: Moscow
- IPAddress: IP адрес vCenter.
- Email: admin@yourcompany.ru (почта)
- Hostname: FQDN виртуалки vcenter, может не совпадать с Name
- VMCA Name: FQDN адрес vcenter, обычно совпадает с Name
Отвечаем, получаем в итоге два файла:
- /tmp/vmca_issued_csr.csr
- /tmp/vmca_issued_key.key
Получаем содержимое vmca_issued_csr.csr:
cat /tmp/vmca_issued_csr.csr
Копируем в буфер.
Открываем центр сертификации.
Request a certificate - запрашиваем сертификат.
Advanced certificate request.
Заполняем поля.
- Base-64-encoded certificate request: сюда вставляем скопированное содержимое файла vmca_issued_csr.csr.
- Certificate Template: vSphere 6.7.
- Attributes: дополнительные атрибуты в формате:
san:ipaddress=10.11.12.13&dns=vcenter.domain1.local&dns=vcenter.domain2.local&dns=vcenter&dns=vcenter-machine
Естественно, свои IP и DNS адреса вписываем.
Submit.
Скачиваем Base 64 encoded. Download certificate. Если цепочку забыли скачать ранее - тоже скачиваем.
Снова идём в shell.
Создаём файл vmca_issued_csr.cer:
vim /tmp/vmca_issued_csr.cer
Вставляем внутрь содержимое сертификата, сохраняем.
Создаём файл PS-CA.cer:
vim /tmp/PS-CA.cer
Вставляем внутрь содержимое корневого сертификата или цепочки (помним что переводили её в формат PEM), сохраняем.
Запускаем certificate-manager.
/usr/lib/vmware-vmca/bin/certificate-manager
Выбираем первый пункт. Replace Machine SSL certificate with Custom Certificate. Вводим "1". Логинимся под administrator@vsphere.local.
Потом выбираем второй пункт. Import custom certificate(s) and key(s) to replace existing Machine SSL certificate.
Нас спрашивают: "Please provide valid custom certificate for Machine SSL", указываем /tmp/vmca_issued_csr.cer.
Нас спрашивают: "Please provide valid custom key for Machine SSL", указываем /tmp/vmca_issued_key.key.
Нас спрашивают: "Please provide the signing certificate of the Machine SSL certificate", указываем /tmp/PS-CA.cer.
Y.
Полетело обновление сертификата, можно идти пить кофе.
В конце увидите:
All tasks completed successfully
Можно перезагрузить vCenter 6.7.