Selfhost API DNS Error

TFrenz

Well-Known Member
May 13, 2020
111
12
58
61
Hallo,
der LetsEncrypt API Updateer funktioniert auf dem PMG GAteway V 9.1.2 nicht.
Ich bekomme folgende Fehlermeldung:
TASK ERROR: command 'setpriv --reuid nobody --regid nogroup --clear-groups --reset-env -- /bin/bash /usr/share/proxmox-acme/proxmox-acme setup selfhost mta.ebf-frenz.de' failed: exit code 1

HAbe schon versucht die DAtei
/usr/share/proxmox-acme/dnsapi/dns_acmedns.sh von _debug auf _Info umzustellen.
Aber da bekomme ich auch nicht mehr Informationen.

Wie kann ich den Fehler eingrenzen, bzw erhalte ich mehr Loginformationen.

DAnke Thomas
 
Du hast die falsche Datei erwischt, dns_acmedns.sh ist das Plugin für acme-dns. Die Datei für selfhost ist /usr/share/proxmox-acme/dnsapi/dns_selfhost.sh. Im Task-Log sieht man davon fast nichts, weil das ganze als nobody über setpriv läuft. Versuch den Aufruf mal von Hand als root mit den Werten aus deiner Plugin-Config und bash -x, dann siehst du wo es aussteigt:

Code:
SELFHOSTDNS_USERNAME=... SELFHOSTDNS_PASSWORD=... SELFHOSTDNS_MAP=... \
bash -x /usr/share/proxmox-acme/proxmox-acme setup selfhost mta.example.de 2>&1 | tail -60

Was bei selfhost.de gern schiefgeht: Das API kann keine neuen TXT-Records anlegen. Du musst die _acme-challenge-Records im Webinterface vorher anlegen und die Record-IDs per SELFHOSTDNS_MAP zuordnen (Format _acme-challenge.mta.example.de:RID, für Wildcard brauchst du zwei). Fehlt das Mapping, steigt das Plugin mit exit 1 aus. Wie sieht denn dein Eintrag in /etc/pmg/acme/plugins.cfg aus (ohne Passwort natürlich)?
 
  • Like
Reactions: news
Hallo,
die Datei /etc/pmg/acme/plugins.cfg ist nicht vorhanden.
Was muss da drin stehen?
 
Die legt PMG selbst an, sobald du ein DNS-Plugin anlegst. Wenn sie fehlt, gibt's schlicht kein Plugin, und deshalb bricht der setup-Aufruf mit exit 1 ab.

Anlegen am einfachsten im Webinterface unter Konfiguration → Zertifikate → ACME, bei den Challenge-Plugins auf Hinzufügen → DNS, Plugin-ID z.B. selfhost, als API "selfhost" auswählen, und ins Datenfeld die Key=Value-Zeilen rein:
Code:
SELFHOSTDNS_USERNAME=deinuser
SELFHOSTDNS_PASSWORD=deinpasswort
SELFHOSTDNS_MAP=_acme-challenge.mta.ebf-frenz.de:123456
Die 123456 ist die Record-ID aus dem selfhost-Webinterface. Geht auch per CLI mit pmgconfig acme plugin add dns selfhost --api selfhost --data /pfad/zur/datei, die Datei hat denselben Inhalt.

Danach taucht das Ganze als dns: selfhost in der plugins.cfg auf, das data-Feld ist base64. Beim Zertifikat musst du die Domain dann auch auf Plugin "selfhost" umstellen statt "standalone", sonst probiert er's weiter über http.
 
Ah, gut dass du's gefunden hast. Der Haken: die Änderung an dns_selfhost.sh ist beim nächsten Update von libproxmox-acme-plugins wieder weg, dann läuft die Erneuerung plötzlich wieder auf exit 1. Trag's dir im Kalender ein oder prüf nach jedem Upgrade kurz. Melde das auf https://bugzilla.proxmox.com, das kommt aus dem upstream acme.sh und der alte Endpoint muss ausgetauscht werden. Dann ist die Änderung dauerhaft drin.