Автоматизация выпуска SSL-сертификатов с помощью Acme.sh на сервере через DNS
Заголовок: Автоматизация выпуска SSL-сертификатов с помощью Acme.sh на сервере Ubuntu
Введение: Это руководство проведет вас через процесс автоматизации выпуска SSL-сертификатов на сервере Ubuntu с использованием Acme.sh. SSL-сертификаты необходимы для защиты веб-сайтов и сервисов, а автоматизация их выпуска позволяет сэкономить время и усилия. Acme.sh — это инструмент на основе оболочки, который предлагает лучшую производительность и поддерживает API множества DNS-провайдеров, что делает его отличным выбором для автоматизации SSL-сертификатов.
Предварительные требования:
- Сервер Ubuntu
- Доменное имя
- DNS API токен
Пример терминологии:
- Email: [email protected]
Шаг 1 - Установка Acme.sh:
-
Войдите на ваш сервер Ubuntu.
-
Откройте окно терминала.
-
Клонируйте репозиторий Acme.sh с GitHub:
git clone https://github.com/acmesh-official/acme.sh.git -
Перейдите в директорию Acme.sh:
cd ~/acme.sh -
Установите Acme.sh, указав ваш адрес электронной почты:
./acme.sh --install -m mail@example.comЗамените
[email protected]на ваш реальный адрес электронной почты. -
Запишите путь установки, отображаемый после завершения установки.
Шаг 2 - Настройка автоматического DNS:
-
Acme.sh поддерживает различных DNS-провайдеров. Доступные варианты DNS API можно найти в директории
dnsapiрепозитория Acme.sh:cd ~/acme.sh/dnsapi -
Если вы не уверены, какого DNS-провайдера использовать, обратитесь к вики Acme.sh за рекомендациями.
-
В этом руководстве мы будем использовать Hetzner DNS. Обратите внимание, что API-ключи, предоставляемые разными DNS-провайдерами, могут отличаться. Выберите провайдера, который лучше всего соответствует вашим потребностям.
-
Получите API-ключ для вашего DNS-провайдера в соответствующей консоли. В случае Hetzner DNS вы можете найти свой API-ключ в Hetzner DNS Console.
-
Найдите соответствующий скрипт для вашего DNS-провайдера в директории
dnsapi. Для Hetzner скрипт называетсяdns_hetzner.sh. -
Вы можете добавить API-токен, либо отредактировав скрипт вручную:
nano ~/acme.sh/dnsapi/dns_hetzner.shЛибо с помощью команды export:
export YOUR_Token="<token>"Замените
YOUR_Tokenна переменную, используемую в скрипте для вашего DNS-провайдера, а<token>на ваш реальный API-токен. -
Вы можете просмотреть сохраненный API-токен, выполнив команду:
cat ~/.acme.sh/account.conf
Шаг 3 - Выпуск сертификатов:
-
По умолчанию Acme.sh использует ZeroSSL в качестве Центра сертификации (CA). Если вам требуется конкретный CA, например BuyPass.com CA, проверьте официальный репозиторий Acme.sh на GitHub для получения дополнительных вариантов.
-
Начиная с Acme.sh v3.0.6, алгоритм ключа по умолчанию —
ec-256, а неRSA2048. Если ваш CA поддерживает толькоRSA4096и ниже, вы можете указать длину ключа как-k 2048в конце команды для выпуска бесплатного сертификата. -
Чтобы выпустить SSL-сертификат, выполните следующую команду:
cd ~/acme.sh ./acme.sh --issue --dns dns_hetzner -d example.com -d *.example.comЭта команда выполняет автоматическую DNS-проверку. Замените
example.comна ваше доменное имя и при необходимости скорректируйте флаги-d. -
После успешной проверки вы найдете SSL-сертификаты в указанном месте. Откройте файлы сертификатов в текстовом редакторе, чтобы просмотреть детали.
Заключение: В этом руководстве вы узнали, как автоматизировать выпуск SSL-сертификатов с помощью Acme.sh на сервере Ubuntu. Следуя этим инструкциям, вы можете легко защитить свои веб-сайты и сервисы с помощью SSL-сертификатов, экономя время и повышая безопасность.
Поиск