Перейти к основному содержанию

vCenter 6.7 — устанавливаем свой сертификат

VMware

Каждый раз процесс установки сертификата на vСenter проходил у меня с какими-то проблемами. На этот раз тоже не обошлось без трудностей, однако, их удалось все преодолеть.

Ставим корпоративный сертификат на vCenter 6.7. Задача: сгенерировать и установить на vCenter 6.7 сертификат, удовлетворяющий условиям:

  1. Сделать шаблон vSphere 6.7 в центре сертификации. Срок действия сертификата 5 лет.
  2. Поддержка нескольких алиасов и IP адреса.
  3. Сгенерировать сертификат и установить на vCenter.

Сделать шаблон vSphere 6.7 в центре сертификации

Это задача вынесена в отдельную статью. Здесь рассказывается как сделать шаблон в центре сертификации и настроить срок действия на 5 лет.

Добавление шаблона vSphere 6.7 в центр сертификации

Поддержка нескольких алиасов и IP адреса

Эта задача тоже вынесена в отдельную статью.

Создание SSL сертификата с альтернативными доменными именами

Подготовительные работы

Скачиваем корневые сертификаты из центра сертификации.

cert

Воспользуемся ссылкой Download a CA certificate, certificate chain, or CRL.

cert

Download CA certificate. А если у вас несколько уровней, то скачиваем цепочку — Download CA certificate chain.

cert

В случае с цепочкой нам нужен только этот файл. P7B переводим в PEM:

Windows — конвертация P7B в PEM с помощью подсистемы Linux

Лишние строки из результирующего файла можно удалить вручную.

Сгенерировать сертификат

Генерировать будем через shell. Для начала включим его. Заходим в админку vCenter 6.7. Обычно на порту 5480.

cert

Логин root, пароль тот, что указывали при установке vCenter 6.7.

Установка vCenter 6.7

Переходим в раздел Access > Access Settings.

cert

Видим, что Bash Shell — Disabled. Нажимаем EDIT.

cert

Включаем Enable BASH Shell. Устанавливаем в минутах через сколько BASH Shell отключится. Ну хотя бы 500 минут, нам и меньше хватит.

Заходим на vCenter по SSH. Я использую putty.

cert

Попадаем в CLI. Если Shell не включить, то при запуске команды:

shell

увидим ошибку: "Shell is disabled".

cert

А если shell включили, то ошибки нет:

cert

Переключаемся в sudo:

sudo -i
shell

cert

Вот мы и под рутом. Выполняем команду:

/usr/lib/vmware-vmca/bin/certificate-manager

cert

Запускается скрипт.

*** Welcome to the vSphere 6.7 Certificate Manager ***

cert

Выбираем первый пункт.

Replace Machine SSL certificate with Custom Certificate

Вводим "1". Логинимся под administrator@vsphere.local.

cert

Для начала генерируем CSR (Certificate Signing Request), нажимаем "1".

cert

И тут нас начинают спрашивать:

  • 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

Копируем в буфер.

cert

Открываем центр сертификации.

cert

Request a certificate - запрашиваем сертификат.

cert

Advanced certificate request.

cert

Заполняем поля.

cert

  • 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.

cert

Скачиваем 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

cert

Выбираем первый пункт. Replace Machine SSL certificate with Custom Certificate. Вводим "1". Логинимся под administrator@vsphere.local.

Потом выбираем второй пункт. Import custom certificate(s) and key(s) to replace existing Machine SSL certificate.

cert

Нас спрашивают: "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.

cert

Полетело обновление сертификата, можно идти пить кофе. 

В конце увидите:

All tasks completed successfully

Можно перезагрузить vCenter 6.7.

 

Похожие материалы

Настройка SSL сертификатов CA на хосте ESXi, подключенном к vCenter 6.7

Привет, сегодня решим проблему с установкой корпоративного сертификата на ESXi host. Проблема в том, что хост управляется через vCenter.