Данное руководство показывает вам как сгенерировать CSR (Certificate Signing Request) в Webmin. Webmin — это браузерная панель управления для Linux-серверов, поэтому у вас есть два практических способа создать CSR: через встроенные SSL-модули Webmin (графическая форма для самой панели Webmin или для виртуального хоста Apache) или с помощью командной строки OpenSSL через встроенный терминал Webmin. Способ с OpenSSL наиболее гибкий и создает ключ и CSR, которые можно использовать с любым веб-сервером (Apache, Nginx, Lighttpd или чем-либо еще, чем управляет Webmin).
Приведенные ниже шаги предполагают использование современного Webmin 2.x и OpenSSL 3.x, которые являются текущими версиями во всех поддерживаемых дистрибутивах Linux в 2026 году (Ubuntu 22.04 / 24.04 / 26.04, Debian 12 и 13, RHEL 9 и 10, Rocky 9 и 10, AlmaLinux 9 и 10, openSUSE Leap 15.6 и Tumbleweed). Результатом является стандартный CSR в кодировке PEM, подписанный с помощью SHA-256, который принимает любой публичный Центр Сертификации.
Шаг 1: Войдите в Webmin
Откройте Webmin в браузере по URL-адресу вашего сервера на порту 10000:
https://yourwebsite.com:10000
Замените yourwebsite.com на имя хоста или IP-адрес вашего сервера. Порт 10000 — это порт Webmin по умолчанию. Войдите с использованием учетной записи root или пользователя Webmin, имеющего разрешение на управление SSL.
Шаг 2: Откройте терминал Webmin
Webmin 2.x поставляется со встроенным терминалом, которым можно пользоваться без открытия отдельной SSH-сессии. В левой панели, чуть ниже ссылки Refresh Modules, нажмите на значок Terminal (второй значок слева) или нажмите Alt + K, чтобы открыть его. Появится приглашение оболочки, работающее от имени пользователя, под которым вы вошли.
Если вы предпочитаете прямое SSH-соединение со своей машины, подключитесь к тому же серверу и выполните команду из следующего шага там. Результат будет идентичным.
Шаг 3: Сгенерируйте приватный ключ и CSR с помощью OpenSSL
В терминале выполните приведенную ниже команду. Она создает 2048-битный RSA-ключ и соответствующий CSR за один шаг, при этом субъект и Subject Alternative Names (SAN) указываются прямо в команде, чтобы OpenSSL не останавливался с интерактивными вопросами:
sudo openssl req -new -newkey rsa:2048 -noenc
-keyout /etc/ssl/private/yourwebsite.com.key
-out /etc/ssl/private/yourwebsite.com.csr
-subj "/C=US/ST=California/L=San Jose/O=Your Company LLC/CN=yourwebsite.com"
-addext "subjectAltName=DNS:yourwebsite.com,DNS:www.yourwebsite.com"
В Debian и Ubuntu каталог /etc/ssl/private/ уже существует. В RHEL, Rocky, AlmaLinux и Fedora принято использовать /etc/pki/tls/private/ для ключей и /etc/pki/tls/certs/ для CSR. Выберите пути, которые может прочитать ваш веб-сервер, либо сохраните файлы в домашнем каталоге и переместите их позже. Если целевого каталога не существует, сначала создайте его командой sudo mkdir -p /etc/ssl/private.
Что делает каждая часть команды:
- -newkey rsa:2048 генерирует новый 2048-битный RSA-ключ. 2048 бит — текущий минимум для публичных сертификатов. Используйте rsa:4096 для более крупного ключа или переключитесь на ECDSA (см. ниже).
- -noenc оставляет приватный ключ незашифрованным, чтобы веб-сервер мог прочитать его при запуске без запроса парольной фразы. (В OpenSSL 1.x эквивалентный флаг — -nodes; оба варианта по-прежнему работают в OpenSSL 3.x.)
- -keyout и -out задают имя файла приватного ключа и файла CSR.
- -subj задает субъект сертификата прямо в команде. Замените примерные значения на ваши реальные данные:
- C: двухбуквенный код страны, в которой юридически зарегистрирована ваша организация (например, US).
- ST: полное название штата или провинции (например, California), без сокращений.
- L: полное название города (например, San Jose).
- O: юридическое название организации. Для сертификата с проверкой домена (DV) можно оставить пустым или указать ваш домен.
- CN: полное доменное имя (FQDN) сайта, который вы хотите защитить (например, yourwebsite.com).
- -addext «subjectAltName=…» перечисляет все имена хостов, которые должен покрывать сертификат. Публичные CA проверяют данные по списку SAN, поэтому включите сюда и общее имя (Common Name). Для wildcard-сертификата укажите как wildcard, так и корневой домен: DNS:*.yourwebsite.com,DNS:yourwebsite.com. Wildcard покрывает один уровень поддомена и сам по себе не совпадает с корневым доменом.
Если вы предпочитаете ECDSA-ключ (меньший по размеру и более быстрый, с широкой поддержкой P-256), используйте следующий вариант:
sudo openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -noenc
-keyout /etc/ssl/private/yourwebsite.com.key
-out /etc/ssl/private/yourwebsite.com.csr
-subj "/C=US/ST=California/L=San Jose/O=Your Company LLC/CN=yourwebsite.com"
-addext "subjectAltName=DNS:yourwebsite.com,DNS:www.yourwebsite.com"
Обратная косая черта в конце каждой строки — это символ продолжения строки в оболочке, благодаря которому команда остается одной логической инструкцией, разбитой на несколько строк для удобства чтения. Если ваш терминал плохо обрабатывает многострочную форму, вставьте всю команду в одну строку.
Шаг 4: Защитите приватный ключ
Выведите список каталога, чтобы убедиться, что оба файла созданы:
sudo ls -l /etc/ssl/private/yourwebsite.com.*
Вы должны увидеть два новых файла:
- yourwebsite.com.key: приватный ключ. Он должен оставаться на сервере, никогда не должен передаваться Центру Сертификации и никогда не должен отправляться по электронной почте или вставляться в какую-либо форму. Тот, кто владеет ключом, может выдавать себя за ваш сайт.
- yourwebsite.com.csr: запрос на подпись сертификата (Certificate Signing Request). Это единственный файл, который вы отправляете провайдеру SSL.
Ограничьте права доступа к приватному ключу так, чтобы читать его мог только root:
sudo chmod 600 /etc/ssl/private/yourwebsite.com.key
В дистрибутивах с включенным SELinux (RHEL, Rocky, AlmaLinux, Fedora) заново примените правильный контекст SELinux после перемещения ключа в его окончательное расположение, например sudo restorecon -Rv /etc/pki/tls/.
Шаг 5: Проверьте CSR (необязательно, но рекомендуется)
Перед отправкой CSR убедитесь, что он содержит правильный субъект и SAN, и что его подпись действительна:
openssl req -noout -text -verify -in /etc/ssl/private/yourwebsite.com.csr
Убедитесь, что строка Subject соответствует вашим данным, что X509v3 Subject Alternative Name перечисляет все ожидаемые имена хостов и что проверка подписи выводит verify OK. Алгоритм подписи должен читаться как sha256WithRSAEncryption (или ecdsa-with-SHA256 для ECDSA-ключа). Если вы не хотите пользоваться командной строкой, вставьте текст CSR в наш онлайн-инструмент декодер CSR, чтобы увидеть те же поля в браузере.
Шаг 6: Скопируйте и отправьте CSR
Выведите CSR, чтобы его можно было скопировать:
sudo cat /etc/ssl/private/yourwebsite.com.csr
Вы увидите блок текста, подобный этому:
-----BEGIN CERTIFICATE REQUEST-----
MIIBozCB... (a long string of characters)
-----END CERTIFICATE REQUEST-----
Скопируйте весь блок, включая строки ——BEGIN CERTIFICATE REQUEST—— и ——END CERTIFICATE REQUEST—— (у каждого маркера по пять дефисов с обеих сторон). Вставьте его в форму заказа при покупке SSL-сертификата и оставьте соответствующий приватный ключ на сервере.
Создание CSR через графические модули Webmin
Если вы предпочитаете избегать командной строки, Webmin включает две графические формы, которые создадут CSR за вас. Выберите ту, которая соответствует назначению сертификата.
Для виртуального хоста Apache (вашего сайта)
- Перейдите в Servers > Apache Webserver.
- Откройте вкладку Global Configuration, нажмите Configure Apache Modules, отметьте модуль ssl и нажмите Enable Selected Modules, если он еще не включен.
- На вкладке Existing virtual hosts откройте виртуальный хост на порту 443 (или создайте его), нажав на значок globe.
- На странице Virtual Server Options выберите SSL Options, затем нажмите Create signing request.
- Заполните форму (страна, штат, город, организация, общее имя, электронная почта, размер ключа 2048 или выше и любые Subject Alternative Names), выберите, куда Webmin должен записать файлы .csr и .key, и нажмите Create Now.
Оба файла появятся по указанным вами путям. Используйте .csr для вашего заказа и храните .key на сервере.
Для самой панели Webmin (порт 10000)
Если вам нужен сертификат только для интерфейса входа Webmin, а не для сайта, сгенерируйте CSR из модуля конфигурации Webmin:
- Перейдите в Webmin > Webmin Configuration > SSL Encryption.
- Откройте вкладку Create Signing Request.
- Заполните имя хоста (публичное имя, по которому вы обращаетесь к Webmin), страну, штат, город, организацию, электронную почту и размер ключа, затем нажмите Create.
Webmin записывает запрос и соответствующий ключ в каталог /etc/webmin/. После того как CA вернет выпущенный сертификат, установите его с той же страницы SSL Encryption, чтобы он заменил файл по умолчанию /etc/webmin/miniserv.pem.
После получения сертификата
После того как Центр Сертификации проверит ваш CSR и выпустит сертификат, установите его на сервер. Точные шаги зависят от того, для какой службы предназначен сертификат:
- Установите SSL-сертификат в Webmin (Apache через Webmin).
- Установите SSL-сертификат в Apache напрямую.
- Установите SSL-сертификат в Nginx, если вы обслуживаете сайты через Nginx вместо этого.
Если вы предпочитаете полностью графический процесс, работающий в браузере, вы также можете создать CSR с помощью нашего онлайн-инструмента CSR Generator. Он генерирует приватный ключ прямо в вашем браузере, поэтому сохраните ключ самостоятельно и перенесите его на сервер, прежде чем завершить установку.
Часто задаваемые вопросы
Там, где вы укажете. При использовании команды OpenSSL файлы записываются по путям, которые вы указываете с помощью -keyout и -out. В форме Create signing request модуля Apache вы выбираете выходные пути прямо в форме. При использовании Webmin > Webmin Configuration > SSL Encryption Webmin записывает их в каталог /etc/webmin/. В Debian и Ubuntu традиционное место для ключей — /etc/ssl/private/; в RHEL, Rocky, AlmaLinux и Fedora — /etc/pki/tls/private/.
Работают оба варианта. Встроенный терминал Webmin (значок в левой панели или Alt + K) удобен тем, что вы уже вошли в систему, но та же команда OpenSSL, выполненная в обычной SSH-сессии, создает идентичный CSR и ключ. Используйте тот вариант, который вам удобнее.
Они делают одно и то же: указывают OpenSSL оставить приватный ключ незашифрованным на диске, чтобы веб-сервер мог прочитать его при запуске без запроса парольной фразы. -nodes — это историческое название, которое по-прежнему работает в OpenSSL 3.x. -noenc — более новый псевдоним, введенный в OpenSSL 3.0, и это написание рекомендуется использовать в дальнейшем. Используйте тот вариант, который вам привычнее.
Нет. CSR — это стандартный запрос в кодировке PEM, определенный стандартом PKCS #10, и любой CA может подписать его независимо от того, где он был создан. CSR, который вы генерируете в терминале Webmin, через форму Create signing request модуля Apache или с помощью нашего онлайн-инструмента CSR Generator — во всех случаях создается один и тот же вид файла. Важно то, что приватный ключ, созданный одновременно с CSR, остается на сервере, на который вы планируете установить сертификат.
Сэкономьте 10% на SSL-сертификатах при заказе сегодня!
Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10


