Hallo zusammen,
ich habe auf meiner Firewall den ACME Client installiert. Zum Einsatz kommt OPNsense 25.1.5_5-amd64.
Im ACME Client habe ich heute Morgen eine neue Automation angelegt. Diese soll ein TLS Zertifikat auf eine Synology NAS hochladen. Mit den angegebenen Zugangsdaten kann ich mich an der UI des NAS problemlos anmelden.
2025-04-24 09_29_36.png
Danach habe ich unter Services: ACME Client: Certificates ein neuen Eintrag für das NAS angelegt.
2025-04-24 09_33_11.png
Anschließend habe ich manuell den Befehl "Issue or renew certificate" ausgeführt. Das Zertifikat wurde von LE erfolgreich ausgestellt und auf der Firewall auch gespeichert. Allerdings ist die verknüpfte Automation mit einem Fehler abgebrochen. Nachstehend der Eintrag aus dem Systen log des ACME Clients:
Quote2025-04-24T09:19:47 config AcmeClient: AcmeClient: The shell command returned exit code '1': '/usr/local/sbin/acme.sh --deploy --syslog 6 --log-level 1 --server 'letsencrypt' --home '/var/etc/acme-client/home' --cert-home '/var/etc/acme-client/cert-home/6809e54670ad08.82728496' --certpath '/var/etc/acme-client/certs/6809e54670ad08.82728496/cert.pem' --keypath '/var/etc/acme-client/keys/6809e54670ad08.82728496/private.key' --capath '/var/etc/acme-client/certs/6809e54670ad08.82728496/chain.pem' --fullchainpath '/var/etc/acme-client/certs/6809e54670ad08.82728496/fullchain.pem' --domain 'nas01domain.de' --deploy-hook synology_dsm'
Für die Fehlersuche bin ich via SSH auf die Firewall, habe den oben genannten Befehl um die Parameter --syslog 9 --debug 3 erweitert und manuell ausgeführt. Nachstehend die Ausgabe des Befehls:
/usr/local/sbin/acme.sh --deploy --syslog 9 --debug 3 --server 'letsencrypt' --home '/var/etc/acme-client/home' --cert-home '/var/etc/acme-client/cert-home/6809e54670ad08.82728496' --certpath '/var/etc/acme-client/certs/6809e54670ad08.82728496/cert.pem' --keypath '/var/etc/acme-client/keys/6809e54670ad08.82728496/private.key' --capath '/var/etc/acme-client/certs/6809e54670ad08.82728496/chain.pem' --fullchainpath '/var/etc/acme-client/certs/6809e54670ad08.82728496/fullchain.pem' --domain 'nas01.domain.de' --deploy-hook synology_dsm --output-insecure
[Thu Apr 24 09:27:01 CEST 2025] _is_idn_d='nas01.domain.de'
[Thu Apr 24 09:27:01 CEST 2025] _idn_temp
[Thu Apr 24 09:27:01 CEST 2025] _selectServer try snames='zerossl.com,zerossl'
[Thu Apr 24 09:27:01 CEST 2025] _selectServer try snames='letsencrypt.org,letsencrypt'
[Thu Apr 24 09:27:01 CEST 2025] _selectServer match letsencrypt
[Thu Apr 24 09:27:01 CEST 2025] Selected server: https://acme-v02.api.letsencrypt.org/directory
[Thu Apr 24 09:27:01 CEST 2025] readlink exists=0
[Thu Apr 24 09:27:01 CEST 2025] dirname exists=0
[Thu Apr 24 09:27:01 CEST 2025] Let's find the script directory.
[Thu Apr 24 09:27:01 CEST 2025] _SCRIPT_='/usr/local/sbin/acme.sh'
[Thu Apr 24 09:27:01 CEST 2025] _script='/usr/local/sbin/acme.sh'
[Thu Apr 24 09:27:01 CEST 2025] _script_home='/usr/local/sbin'
[Thu Apr 24 09:27:01 CEST 2025] Using config home: /var/etc/acme-client/home
[Thu Apr 24 09:27:01 CEST 2025] ACCOUNT_CONF_PATH='/var/etc/acme-client/home/account.conf'
[Thu Apr 24 09:27:02 CEST 2025] logger exists=0
[Thu Apr 24 09:27:02 CEST 2025] OK
[Thu Apr 24 09:27:02 CEST 2025] 2:SYS_LOG='9'
[Thu Apr 24 09:27:02 CEST 2025] LE_WORKING_DIR='/var/etc/acme-client/home'
https://github.com/acmesh-official/acme.sh
v3.1.0
[Thu Apr 24 09:27:02 CEST 2025] Using server: https://acme-v02.api.letsencrypt.org/directory
[Thu Apr 24 09:27:02 CEST 2025] Running cmd: deploy
[Thu Apr 24 09:27:02 CEST 2025] Using config home: /var/etc/acme-client/home
[Thu Apr 24 09:27:02 CEST 2025] ACCOUNT_CONF_PATH='/var/etc/acme-client/home/account.conf'
[Thu Apr 24 09:27:02 CEST 2025] ACME_DIRECTORY='https://acme-v02.api.letsencrypt.org/directory'
[Thu Apr 24 09:27:02 CEST 2025] _ACME_SERVER_HOST='acme-v02.api.letsencrypt.org'
[Thu Apr 24 09:27:02 CEST 2025] _ACME_SERVER_PATH='directory'
[Thu Apr 24 09:27:02 CEST 2025] CA_CONF='/var/etc/acme-client/home/ca/acme-v02.api.letsencrypt.org/directory/ca.conf'
[Thu Apr 24 09:27:02 CEST 2025] DOMAIN_PATH='/var/etc/acme-client/cert-home/6809e54670ad08.82728496/nas01.domain.de'
[Thu Apr 24 09:27:02 CEST 2025] DOMAIN_CONF='/var/etc/acme-client/cert-home/6809e54670ad08.82728496/nas01.domain.de/nas01.domain.de.conf'
[Thu Apr 24 09:27:02 CEST 2025] OK
[Thu Apr 24 09:27:02 CEST 2025] 22:Le_DeployHook='synology_dsm,'
[Thu Apr 24 09:27:02 CEST 2025] _deployApi='/var/etc/acme-client/home/deploy/synology_dsm.sh'
[Thu Apr 24 09:27:02 CEST 2025] synology_dsm_deploy exists=0
[Thu Apr 24 09:27:02 CEST 2025] _cdomain='nas01.domain.de'
[Thu Apr 24 09:27:02 CEST 2025] SYNO_USE_TEMP_ADMIN
[Thu Apr 24 09:27:02 CEST 2025] SYNO_USERNAME
[Thu Apr 24 09:27:02 CEST 2025] SYNO_PASSWORD
[Thu Apr 24 09:27:02 CEST 2025] SYNO_DEVICE_NAME
[Thu Apr 24 09:27:02 CEST 2025] SYNO_DEVICE_ID
[Thu Apr 24 09:27:02 CEST 2025] You must set either SYNO_USE_TEMP_ADMIN, or set both SYNO_USERNAME and SYNO_PASSWORD.
[Thu Apr 24 09:27:02 CEST 2025] Error deploying for domain: nas01.domain.de
[Thu Apr 24 09:27:02 CEST 2025] Error encountered while deploying.
Im Rahmen der Fehlersuche bin ich auf folgendes Issue auf Github (https://github.com/opnsense/plugins/issues/4286) gestoßen. Den dort genannten Patch habe ich auf meiner Firewall installiert. Danach sowohl Automation als auch Certiicate gelöscht und neu angelegt. Das Fehlerbild bleibt das Gleiche.
Gibt es aktuell der aktuellen Version einen Bug, so dass die beiden Variablen nicht korrekt gefüllt werden?
Nachtrag:
2 andere Certificates bzw. Automations, welche ich vor einem Jahr für zwei andere Synology NASes angelegt haben, funktionieren nach wie vor problemlos.