Работа с сертификатами SSL/TLS на сервере Linux без графической оболочки — стандартная задача для системного администратора. Многие считают это сложным, но командная строка предоставляет все необходимые инструменты. Процесс создания и управления ключевыми парами, генерации CSR и подписи сертификатов полностью автоматизируем.
Основным инструментом криптографии в терминале Linux является утилита OpenSSL. Она позволяет генерировать приватные ключи, создавать запросы на сертификаты (CSR) и подписывать их. Для работы не требуется установка дополнительного графического ПО.
Инструментарий командной строки для криптографических операций
Все операции выполняются с помощью консольных команд. Вот базовый набор для управления сертификатами:
- openssl genpkey — генерация современного приватного ключа.
- openssl req — создание запроса на подпись сертификата (CSR).
- openssl x509 — подпись, просмотр и проверка сертификатов.
- openssl verify — валидация цепочки доверия.
Пошаговое создание самоподписанного сертификата
Самоподписанные сертификаты подходят для тестирования или внутренней инфраструктуры ключей. Создание занимает три команды.
- Генерируем приватный ключ RSA:
openssl genpkey -algorithm RSA -out private.key -aes256. Ключ будет защищен паролем. - Формируем CSR:
openssl req -new -key private.key -out request.csr. Утилита запросит данные для Subject. - Подписываем CSR своим же ключом, создавая сертификат:
openssl x509 -req -in request.csr -signkey private.key -out certificate.crt.
Полученный файл certificate.crt можно сразу использовать для настройки веб-сервера Nginx или Apache.

Автоматизация через скрипты Bash
Ручной ввод команд неэффективен при массовом выпуске сертификатов или их регулярном обновлении. На помощь приходят скрипты Bash.
Простой скрипт может принимать имя домена как аргумент, генерировать для него ключ и CSR, а затем отправлять запрос в Let’s Encrypt через certbot (который тоже CLI инструмент) или подписывать внутренним удостоверяющим центром. Это основа для построения автоматизированной инфраструктуры ключей.
Вопросы и ответы по управлению сертификатами в терминале
Можно ли получить бесплатный доверенный сертификат без GUI? Да. Утилита certbot от Let’s Encrypt работает в режиме командной строки и идеально подходит для автоматического получения и продления TLS сертификатов.
Как проверить содержимое созданного сертификата? Команда openssl x509 -in certificate.crt -text -noout выведет все детали: издателя, срок действия, Subject Alternative Names.
Где хранить приватные ключи на сервере? Только в директориях с ограниченными правами доступа (chmod 600). Никогда не коммитить их в системы контроля версий.
Рекомендация для безопасного серверного администрирования
Все криптографические операции с ключами и сертификатами следует выполнять непосредственно на целевом сервере или на специально выделенной защищенной машине. Передача приватных ключей по сети, даже по SSH, увеличивает риск компрометации. Генерацию ключевых пар лучше проводить в той же среде, где они будут использоваться для обеспечения безопасного соединения HTTPS.
Таким образом, работа с SSL/TLS сертификатами через командную строку не только реальна, но и часто является предпочтительным методом для профессионалов. Она обеспечивает точность, повторяемость и возможность глубокой автоматизации процессов серверного администрирования.