bg-tutorials

Как установить SSL-сертификат на Proxmox

Этот учебник покажет вам как установить SSL-сертификат на Proxmox Virtual Environment (Proxmox VE), чтобы веб-интерфейс обслуживался через доверенный HTTPS вместо стандартного самоподписанного сертификата. Вы также найдёте лучшее место для покупки доступного SSL-сертификата для Proxmox.

Если вы уже сгенерировали код CSR и получили файлы SSL, перейдите прямо к инструкциям по установке.

Генерация кода CSR на Proxmox

Чтобы получить SSL-сертификат от доверенного центра сертификации (CA), сначала нужно сгенерировать код CSR и отправить его провайдеру сертификата. CSR означает Certificate Signing Request (запрос на подпись сертификата): блок закодированного текста, содержащий ваши контактные данные, такие как доменное имя и данные компании, а также открытый ключ, который будет встроен в ваш сертификат.

У вас есть два варианта:

  1. Сгенерировать CSR автоматически с помощью нашего генератора CSR.
  2. Следовать нашему подробному руководству по созданию CSR на Proxmox.

Отправьте CSR центру сертификации при оформлении заказа. Как только CA проверит ваш запрос и выпустит сертификат, продолжите установку ниже.

Установка SSL-сертификата на Proxmox

После того как ваш CA подпишет сертификат и отправит вам файлы SSL по электронной почте, можно начинать установку. Proxmox VE заменяет стандартный самоподписанный сертификат вашим собственным. Вам не нужно вручную редактировать конфигурацию веб-сервера или перезапускать Apache/Nginx, поскольку Proxmox управляет своей собственной службой pveproxy.

Перед началом работы

  • Подготовьте подписанные файлы SSL от вашего CA.
  • Убедитесь, что ваш приватный ключ не защищён паролем; Proxmox не принимает зашифрованный ключ.
  • Сертификат применяется для каждого узла отдельно. В кластере повторите эти шаги на каждом узле, который нужно защитить.

Эти шаги применимы к линейке версий Proxmox VE 7, 8 и текущей 9.x. Процесс установки сертификата одинаков во всех этих версиях.

Шаг 1: Подготовьте файлы для установки

Скачайте ZIP-архив, отправленный вашим CA, и извлеките его на своём компьютере. Для активации SSL на Proxmox вам понадобятся ровно два файла:

  • fullchain.pem — ваш серверный сертификат плюс все промежуточные сертификаты (без корневого), объединённые в один файл PEM.
  • private-key.pem — ваш приватный ключ в формате PEM без пароля.

В зависимости от вашего CA, вы можете получить корневой и промежуточные сертификаты как отдельные файлы или объединённые в один файл .ca-bundle. Для Proxmox необходимо объединить серверный сертификат и промежуточные сертификаты в один файл fullchain.pem. Откройте текстовый редактор и вставьте содержимое каждого сертификата в один файл.

Порядок имеет значение. Файл полной цепочки должен начинаться с вашего серверного (конечного) сертификата, за которым следуют промежуточные сертификаты. Каждый блок сертификата начинается со строки ——BEGIN CERTIFICATE—— и заканчивается строкой ——END CERTIFICATE——, как показано ниже:

-----BEGIN CERTIFICATE-----
(your server / leaf certificate)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(intermediate certificate)
-----END CERTIFICATE-----

Шаг 2: Загрузите сертификат через веб-интерфейс Proxmox

Веб-интерфейс — самый простой метод, особенно если вы управляете одним узлом:

  1. Войдите в веб-интерфейс Proxmox.
  2. В левой панели разверните Datacenter, выберите ваш узел, затем перейдите в System → Certificates.
  3. Под pveproxy-ssl.pem нажмите Upload Custom Certificate.
  4. Вставьте (или загрузите) ваш fullchain.pem в поле Certificate Chain и ваш private-key.pem в поле Private Key.
  5. Нажмите Upload. При запросе на перезапуск веб-службы подтвердите. Proxmox перезагрузит pveproxy и начнёт использовать ваш новый сертификат.

После перезапуска обновите веб-интерфейс в браузере. Теперь вы должны увидеть ваш доверенный сертификат вместо стандартного самоподписанного.

Альтернатива: установка сертификата из командной строки

Если вы предпочитаете работу с оболочкой, скопируйте ваши fullchain.pem и private-key.pem на узел по SSH (например, с помощью scp), затем воспользуйтесь встроенным инструментом pvenode. Он проверяет, что сертификат и ключ совпадают, перед установкой и может перезапустить прокси за один шаг:

pvenode cert set fullchain.pem private-key.pem --force --restart

Флаг —force перезаписывает существующий пользовательский сертификат, а —restart перезагружает веб-службу, чтобы изменения вступили в силу немедленно.

Также можно разместить файлы вручную. Proxmox считывает сертификат активного узла из /etc/pve/local/pveproxy-ssl.pem, а его ключ — из /etc/pve/local/pveproxy-ssl.key (где /etc/pve/local — это символическая ссылка на каталог текущего узла). Скопируйте ваши файлы на место, скорректировав исходные пути под ваши собственные:

cp fullchain.pem /etc/pve/local/pveproxy-ssl.pem
cp private-key.pem /etc/pve/local/pveproxy-ssl.key

Затем перезапустите веб-интерфейс, чтобы загрузить новый сертификат:

systemctl restart pveproxy

Вы должны увидеть сообщение в журнале, подтверждающее, что Proxmox теперь использует ваш новый сертификат.

Альтернатива: получите бесплатный сертификат со встроенным в Proxmox ACME (Let’s Encrypt)

Proxmox VE поставляется со встроенным клиентом ACME, поэтому вы можете выпускать и автоматически продлевать бесплатный сертификат Let’s Encrypt без покупки сертификата или использования внешних инструментов. Это идеальный вариант, если у вашего узла есть публичное DNS-имя (для проверки HTTP-01 требуется доступность порта 80 из интернета) или если вы можете использовать поддерживаемого DNS-провайдера для проверки DNS-01.

  1. Перейдите в Datacenter → ACME и зарегистрируйте учётную запись в разделе Accounts (выберите каталог Let’s Encrypt и примите условия). Учётные записи ACME настраиваются один раз на уровне дата-центра.
  2. Откройте раздел вашего узла → System → Certificates, и в разделе ACME добавьте домен(ы) для этого узла и выберите тип проверки (HTTP или DNS).
  3. Нажмите Order Certificates Now. Proxmox выполнит проверку, установит сертификат и автоматически продлит его до истечения срока действия.

Проверьте установку SSL

После установки сертификата выполните быструю проверку на наличие ошибок и уязвимостей. Самый быстрый способ — открыть веб-интерфейс Proxmox в браузере и убедиться, что значок замка показывает действительный, доверенный сертификат с правильным доменом и датой истечения срока действия.

Из командной строки можно точно узнать, что именно узел обслуживает на своём стандартном порту (8006):

echo | openssl s_client -connect your-proxmox-host:8006 -servername your-proxmox-host 2>/dev/null | openssl x509 -noout -issuer -subject -dates

Эта команда выводит издателя, субъект и сроки действия текущего сертификата. Для полного внешнего сканирования обратитесь к нашему руководству по лучшему SSL Checker для проверки вашей установки.

Где купить лучший SSL-сертификат для Proxmox?

При покупке SSL-сертификата оцените тип проверки, цену и качество обслуживания клиентов. В SSL Dragon мы предлагаем один из самых широких ассортиментов SSL-сертификатов, очень конкурентные цены и специальную поддержку. Каждый сертификат выпускается доверенным центром сертификации и полностью совместим с Proxmox Virtual Environment. Независимо от того, нужен ли вам доступный сертификат с проверкой домена (Domain Validation) или премиальный продукт с расширенной проверкой (Extended Validation), мы позаботимся о ваших потребностях.

Часто задаваемые вопросы

Где Proxmox хранит свой SSL-сертификат?

Каждый узел использует свой пользовательский сертификат из /etc/pve/local/pveproxy-ssl.pem и соответствующий ключ из /etc/pve/local/pveproxy-ssl.key. Путь /etc/pve/local — это символическая ссылка на собственный каталог узла в /etc/pve/nodes/<node>/. Если пользовательский сертификат отсутствует, Proxmox использует свой самоподписанный pve-ssl.pem.

Как перезапустить веб-интерфейс Proxmox после установки сертификата?

Перезапустите службу прокси, обслуживающую GUI:
systemctl restart pveproxy
Если вы загружаете сертификат через GUI или выполняете команду pvenode cert set ... --restart, Proxmox перезапускает службу автоматически, поэтому эта команда не требуется.

Почему Proxmox не принимает мой приватный ключ?

Наиболее распространённая причина — защищённый паролем (зашифрованный) ключ; Proxmox принимает только незашифрованный ключ PEM. Сначала удалите парольную фразу с помощью команды openssl rsa -in private-key.pem -out private-key.pem. Также убедитесь, что ключ действительно соответствует вашему сертификату и что сертификат представляет собой правильную полную цепочку (сначала конечный сертификат, затем промежуточные, без корневого).

Может ли Proxmox автоматически получить бесплатный сертификат Let’s Encrypt?

Да. В Proxmox VE есть встроенный клиент ACME. Зарегистрируйте учётную запись Let’s Encrypt в разделе Datacenter → ACME, добавьте ваш домен и тип проверки в разделе [node] → System → Certificates, затем заказажите сертификат. Proxmox установит его и автоматически продлит до истечения срока действия, без необходимости ручной загрузки.

Нужно ли устанавливать сертификат на каждом узле кластера?

Да. Пользовательский сертификат хранится для каждого узла отдельно, поэтому вы подключаетесь к веб-интерфейсу каждого узла по его собственному имени хоста. Повторите загрузку (или заказ ACME) на каждом узле, который должен обслуживаться по доверенному HTTPS.

Итог

Установка SSL-сертификата на Proxmox VE сводится к созданию файла полной цепочки PEM, его загрузке вместе с незашифрованным ключом через System → Certificates (или с помощью команды pvenode cert set в командной строке), и предоставлению Proxmox возможности перезапустить свою службу pveproxy. Для полностью автоматической настройки встроенный клиент ACME выпускает и автоматически продлевает бесплатный сертификат Let’s Encrypt. Нужен сертификат для начала? Посмотрите наши SSL-сертификаты.

Сэкономьте 10% на SSL-сертификатах при заказе сегодня!

Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10

Детальное изображение дракона в полете
Написано

Опытный автор контента, специализирующийся на SSL-сертификатах. Превращает сложные темы кибербезопасности в понятный, увлекательный контент. Вносите свой вклад в повышение уровня цифровой безопасности с помощью впечатляющих рассказов.