Skip to content

Создание SSL-сертификата с помощью Let’s Encrypt

В ряде случаев SSL-сертификаты требуются не только для внешнего доступа к сервисам, но и для внутренних систем. В данной инструкции описана процедура ручного выпуска сертификата с использованием сервиса Let's Encrypt.

Общая информация

  • Процедура выполняется вручную через DNS-верификацию.
  • Команды можно выполнять на любом Linux-хосте, не обязательно на целевом сервере.
  • Для продления сертификата используется та же процедура.
  • Перед продлением необходимо удалить старую DNS-запись верификации.

Установка Certbot

Обновите список пакетов и установите утилиту Certbot:

sudo apt update
sudo apt install certbot -y

Выпуск сертификата

Для примера создадим сертификат для домена:

Domain example
host1.acc1.at.loc.icdc.io

Запустите команду:

certbot certonly --manual --preferred-challenges dns -d host1.acc1.at.loc.icdc.io

Что делает команда:

  • Запрашивает выпуск сертификата у Let's Encrypt.
  • Использует ручную DNS-проверку (DNS-challenge) для подтверждения владения доменом.
  • Требует прав sudo, так как сертификаты сохраняются в защищённой директории.

Подтверждение владения доменом

В процессе выполнения:

  1. Укажите email для уведомлений (об истечении сертификата).
  2. Примите условия использования.

После этого появится запрос на создание DNS TXT-записи:

Output example
Please deploy a DNS TXT record under the name:

_acme-challenge.host1.acc1.at.loc.icdc.io

with the following value:

2C8LVlCCLEyR-ZPMUwOD0kOl1gRo2ArKpYxDdc364-U

Настройка DNS

Добавьте TXT-запись в DNS Networking:

Имя записи и значение (пример)

_acme-challenge.host1.acc1.at.loc.icdc.io
2C8LVlCCLEyR-ZPMUwOD0kOl1gRo2ArKpYxDdc364-U

Проверка DNS-записи

Перед продолжением убедитесь, что запись успешно распространилась.

  1. Для проверки можно использовать онлайн-инструменты, например:

  2. Также вы можете выполнить проверку через консоль:

    host -t TXT _acme-challenge.host1.acc1.at.loc.icdc.io 8.8.8.8
    

Убедитесь, что в ответе присутствует TXT-запись с добавленным значением.

После проверки вернитесь в консоль, нажмите Enter для продолжения.
Certbot завершит процесс и создаст сертификат.

После успешного выполнения вы увидите сообщение:

Successfully received certificate.

Certificate is saved at: /etc/letsencrypt/live/host1.acc1.at.loc.icdc.io/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/host1.acc1.at.loc.icdc.io/privkey.pem
This certificate expires on 2026-02-09.

Проверка сертификата

sudo openssl x509 -in /etc/letsencrypt/live/host1.acc1.at.loc.icdc.io
/fullchain.pem -noout -issuer -subject -dates
Example Output
issuer=C = US, O = Let's Encrypt, CN = R13
subject=CN = host1.acc1.at.loc.icdc.io
notBefore=Nov 11 06:13:47 2025 GMT
notAfter=Feb  9 06:13:46 2026 GMT

Продление сертификата

Для продления необходимо повторить ту же команду до истечения срока действия сертификата.

Важно

Перед продлением удалите DNS TXT-запись, использованную для верификации.