Автоматизация выпуска SSL-сертификатов с помощью Acme.sh на сервере через DNS

16/12/2023 |
Loading...

Заголовок: Автоматизация выпуска SSL-сертификатов с помощью Acme.sh на сервере Ubuntu

Введение: Это руководство проведет вас через процесс автоматизации выпуска SSL-сертификатов на сервере Ubuntu с использованием Acme.sh. SSL-сертификаты необходимы для защиты веб-сайтов и сервисов, а автоматизация их выпуска позволяет сэкономить время и усилия. Acme.sh — это инструмент на основе оболочки, который предлагает лучшую производительность и поддерживает API множества DNS-провайдеров, что делает его отличным выбором для автоматизации SSL-сертификатов.

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

  • Сервер Ubuntu
  • Доменное имя
  • DNS API токен

Пример терминологии:

Шаг 1 - Установка Acme.sh:

  1. Войдите на ваш сервер Ubuntu.

  2. Откройте окно терминала.

  3. Клонируйте репозиторий Acme.sh с GitHub:

    git clone https://github.com/acmesh-official/acme.sh.git
  4. Перейдите в директорию Acme.sh:

    cd ~/acme.sh
  5. Установите Acme.sh, указав ваш адрес электронной почты:

    ./acme.sh --install -m mail@example.com

    Замените [email protected] на ваш реальный адрес электронной почты.

  6. Запишите путь установки, отображаемый после завершения установки.

Шаг 2 - Настройка автоматического DNS:

  1. Acme.sh поддерживает различных DNS-провайдеров. Доступные варианты DNS API можно найти в директории dnsapi репозитория Acme.sh:

    cd ~/acme.sh/dnsapi
  2. Если вы не уверены, какого DNS-провайдера использовать, обратитесь к вики Acme.sh за рекомендациями.

  3. В этом руководстве мы будем использовать Hetzner DNS. Обратите внимание, что API-ключи, предоставляемые разными DNS-провайдерами, могут отличаться. Выберите провайдера, который лучше всего соответствует вашим потребностям.

  4. Получите API-ключ для вашего DNS-провайдера в соответствующей консоли. В случае Hetzner DNS вы можете найти свой API-ключ в Hetzner DNS Console.

  5. Найдите соответствующий скрипт для вашего DNS-провайдера в директории dnsapi. Для Hetzner скрипт называется dns_hetzner.sh.

  6. Вы можете добавить API-токен, либо отредактировав скрипт вручную:

    nano ~/acme.sh/dnsapi/dns_hetzner.sh

    Либо с помощью команды export:

    export YOUR_Token="<token>"

    Замените YOUR_Token на переменную, используемую в скрипте для вашего DNS-провайдера, а <token> на ваш реальный API-токен.

  7. Вы можете просмотреть сохраненный API-токен, выполнив команду:

    cat ~/.acme.sh/account.conf

Шаг 3 - Выпуск сертификатов:

  1. По умолчанию Acme.sh использует ZeroSSL в качестве Центра сертификации (CA). Если вам требуется конкретный CA, например BuyPass.com CA, проверьте официальный репозиторий Acme.sh на GitHub для получения дополнительных вариантов.

  2. Начиная с Acme.sh v3.0.6, алгоритм ключа по умолчанию — ec-256, а не RSA2048. Если ваш CA поддерживает только RSA4096 и ниже, вы можете указать длину ключа как -k 2048 в конце команды для выпуска бесплатного сертификата.

  3. Чтобы выпустить SSL-сертификат, выполните следующую команду:

    cd ~/acme.sh ./acme.sh --issue --dns dns_hetzner -d example.com -d *.example.com

    Эта команда выполняет автоматическую DNS-проверку. Замените example.com на ваше доменное имя и при необходимости скорректируйте флаги -d.

  4. После успешной проверки вы найдете SSL-сертификаты в указанном месте. Откройте файлы сертификатов в текстовом редакторе, чтобы просмотреть детали.

Заключение: В этом руководстве вы узнали, как автоматизировать выпуск SSL-сертификатов с помощью Acme.sh на сервере Ubuntu. Следуя этим инструкциям, вы можете легко защитить свои веб-сайты и сервисы с помощью SSL-сертификатов, экономя время и повышая безопасность.

Получайте эксклюзивные предложения и акции!

Будьте в курсе последних предложений, скидок и специальных акций.

Update cookies preferences