snap certbot + pip certbot-dns-ispconfig plugin sikertelen találkozása, előrébb csak pip használattal

Fórumok

Helló

Debian 10, a javaslat szerint snapból felrakott certbot, beállítva működik, wildcardra akarom használni.
Szeretném továbbá használni a létező ispconfig dns plugint, azt is felraktam:

pip install certbot-dns-ispconfig

Eddig minden oké. Azonban a certbot plugins után nem látja az ispconfig plugint.

Próbáltam így hívni:

certbot certonly \
  --authenticator certbot-dns-ispconfig:dns-ispconfig \
  --certbot-dns-ispconfig:dns-ispconfig-credentials /etc/letsencrypt/.secrets/domain.tld.ini \
  --certbot-dns-ispconfig:dns-ispconfig-propagation-seconds 900 \
  --server https://acme-v02.api.letsencrypt.org/directory \
  --agree-tos \
  --rsa-key-size 4096 \
  -d 'example.com' \
  -d '*.example.com'

Hibaüzenet:

certbot: error: unrecognized arguments: --certbot-dns-ispconfig:dns-ispconfig-credentials

Ezeket is próbáltam, egyik sem segített. Próbáltam a /snap/certbot mappából is telepíteni a plugint, az sem volt sikeres.

Van javaslatotok, mi lehet a megoldás, hogy lássa a certbot a felrakott plugint? Köszi.

Hozzászólások

Az a baj, hogy a plugin doksija feltételezi, hogy az oprendszerben megy a certbot, nem pedig egy snapben. Ezért azt a parancsot írja le, amivel az OS-be lehet rakni a plugint. A certbotnál meg a snapbe rakás a default. Az első linkeden amúgy ott van, hogy snap install paranccsal kéne felrakni a plugineket is, és akkor valószínűleg látná a certbot a snapben. A másik verzió, hogy elfelejted a snapesdit.

Itt van még két opció, a konténeres, meg a venv + pip. A konténeres tuti megoldás, viszont csak a cert fájlokat fogja legenerálni, a futó daemonokhoz nem tud és nem is fog hozzányúlni (szerintem ez inkább előny, mint hátrány). A venv + pip egy korrekt megoldás, és nem is bassza össze az OS Pythont (mint ha venv nélkül próbálnád a pipesdit):

https://eff-certbot.readthedocs.io/en/stable/install.html

Köszi, én is ide jutottam tegnap, hogy leszedtem a snap és az snapon kereszteüli certbot csomagokat, és felraktam innen csak pip használattal.

Már látja is a telepített plugint, előrébb vagyok:

# certbot plugins
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* apache
Description: Apache Web Server plugin
Interfaces: Authenticator, Installer, Plugin
Entry point: apache = certbot_apache._internal.entrypoint:ENTRYPOINT

* dns-ispconfig
Description: Obtain certificates using a DNS TXT record (if you are using
ISPConfig for DNS).
Interfaces: Authenticator, Plugin
Entry point: dns-ispconfig = certbot_dns_ispconfig.dns_ispconfig:Authenticator

* standalone
Description: Runs an HTTP server locally which serves the necessary validation
files under the /.well-known/acme-challenge/ request path. Suitable if there is
no HTTP server already running. HTTP challenge only (wildcards not supported).
Interfaces: Authenticator, Plugin
Entry point: standalone = certbot._internal.plugins.standalone:Authenticator

* webroot
Description: Saves the necessary validation files to a
.well-known/acme-challenge/ directory within the nominated webroot path. A
seperate HTTP server must be running and serving files from the webroot path.
HTTP challenge only (wildcards not supported).
Interfaces: Authenticator, Plugin
Entry point: webroot = certbot._internal.plugins.webroot:Authenticator
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Be van már állítva a certbot, önmagában úgy tűnik működne, a plugin nélkül.

Azonban semmilyen módon nem tudom meghívni a plugint, hiába látja, ezek a hibaüzenetek, így próbálom futtatni:

certbot certonly \
  --dns-ispconfig \
  --dns-ispconfig-propagation-seconds 900 \
  --dns-ispconfig-credentials /etc/encryption/ispconfig-credentials.ini \
  --server https://acme-v02.api.letsencrypt.org/directory \
  --agree-tos \
  --rsa-key-size 2048 \
  -d 'abcd.hu' \
  -d '*.abcd.hu'

A certbot-dns-ispconfig plugin leírásában szereplő módon sem jó:

certbot certonly \
  --authenticator certbot-dns-ispconfig:dns-ispconfig \
  --certbot-dns-ispconfig:dns-ispconfig-credentials /etc/letsencrypt/.secrets/domain.tld.ini \
  --certbot-dns-ispconfig:dns-ispconfig-propagation-seconds 900 \
  --server https://acme-v02.api.letsencrypt.org/directory \
  --agree-tos \
  --rsa-key-size 4096 \
  -d 'example.com' \
  -d '*.example.com'

Ez a hibaüzenet minden esetben, amikor a plugint hívom:

usage:
  certbot [SUBCOMMAND] [options] [-d DOMAIN] [-d DOMAIN] ...

Certbot can obtain and install HTTPS/TLS/SSL certificates.  By default,
it will attempt to use a webserver both for obtaining and installing the
certificate.
certbot: error: ambiguous option: 
--dns-ispconfig could match 
--dns-ispconfig-propagation-seconds, 
--dns-ispconfig-credentials

Létezhet, hogy a plugint látja, de nem teljesen kompatibilis a plugin? Hogy kellene meghívni a certbotot wildcard használat esetén ezzel a certbot-dns-ispconfig plugin használattal?

Bőven lehet hogy már nem kompatibilis.

2021-ben volt utoljára matatva. A certbot tavaly lépett főverziót. Bármi lehet, de az ellenkezője is.

Ezekből lenne jó gazdálkodni: https://eff-certbot.readthedocs.io/en/stable/using.html#dns-plugins

Köszi, én is azt néztem, hogy 2 éve nem nyúltak hozzá. Az megoldás lehet, hogy felrakok egy 2021 körüli certbot változatot, működhet?

Közben ha valahogy manuális üzemmódban indítom a certbotot, feldobja, hogy dns részre választhatom az ispconfig plugint, majd megadtam a file nevét, ahol a jogosultságok vannak leírva. Nem működött, az ispconfig szerveren valami HTTP ERROR 500 hiba van, szóval lehet maga a szerver sem kompatibilis ezzel a pluginnel. Utána nézek még, hogy a remote elérésnél az ispconfig esetén milyen beállítások kellenek, de az is lehet, a certbot plugin kezel valamit rosszul.

Annyira zavaró, hogy sehol nem láttam semmi verziót, hogy melyik certbot verziótól meddig jó a plugin. Azt sem, hogy melyik ispconfig verziótól meddig jó a plugin, amire csatlakozik. Ez így nem túl használható. Tudom, írjak jobbat.

Semeddig nem tart megírni. Nekem van pl. shell scriptem hozzá, ami a lokális BIND előkészített zónafájljához hozzáírja a szükséges sorokat, majd a művelet végén kiszedi. Évek óta tökéletesen működik. Nem tartott egy fél délutánnál tovább megírni...

Egyébként meg Kubernetes (Kind, k3s, k3d, k0s, microk8s, vagy valamelyik másik single-node lightweight verzió) + cert-manager, az bazi kényelmes.