certbot: ошибка: нераспознанные аргументы: --dns-digitalocean-credentials
Попытка выполнить эту команду
sudo certbot certonly --dns-digitalocean --dns-digitalocean-credentials ~/.secrets/digitalocean.ini -d "*.example.com" --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory
я получаю эту ошибку: certbot: ошибка: нераспознанные аргументы: --dns-digitalocean-credentials
Операционная система, на которой работает мой веб-сервер: Ubuntu 16.04.3 LTS
certbot - вывод версии: certbot 0.31.0
И тире в команде "--dns-digitalocean-credentials" введены правильно.
Также установлен плагин dns:
python3-certbot-dns-digitalocean/xenial 0.23.0-2ubuntu0ppa1~ubuntu16.04.1
Помогите решить проблему.
2 ответа
я получилunrecognized arguments: --dns-digitalocean-credentials
ошибка даже с Certbot версии 0.40.0 (пакет deb по умолчанию для Ubuntu 20.04). Страница руководства описывает--dns-digitalocean-credentials
но это не распознается.
Решение состоит в установке через оснастку:
sudo apt purge -y certbot
sudo snap install --classic certbot
sudo snap set certbot trust-plugin-with-root=ok
sudo snap install certbot-dns-digitalocean
На момент публикации это Certbot 1.9.0, который хорошо сработал для создания и установки моего сертификата TLS с подстановочными знаками.
Вы не спрашивали, но вот полная команда Certbot, которую я использовал:
sudo certbot run --domain example.com --domain '*.example.com' --authenticator dns-digitalocean --installer apache --dns-digitalocean-credentials /root/.certbot.token --dns-digitalocean-propagation-seconds 60 --agree-tos --keep-until-expiring --redirect --hsts --uir --email webmaster@example.com --no-eff-email
Я думаю, проблема в том, что методы автоматического обновления сертификатов DNS были представлены только в версиях certbot позже 0.31.0.
Текущая версия — 1.3.0-5, но она не вошла в вашу версию Ubuntu. Я не знаю этого наверняка, но знаю, что он еще не вошёл в Debian Buster, которым я пользуюсь.
Я перешел на acme.sh.Я нашел это, по крайней мере, таким же простым в реализации, как и certbot, и более прозрачным. Вам просто нужноexport
ваш ключ DigitalOcean в переменную перед запускомacme.sh
.