Zertifikat erneuern mit acme.sh schlägt fehl

update-freak

Benutzer
Mitglied seit
19. Feb 2018
Beiträge
415
Punkte für Reaktionen
42
Punkte
28
Hi zusammen,

irgendwie schlägt die erneuerung des Zertifikats mit acme.sh fehl.
Hier mal meine Schritte:

  1. Ordner docker/acme anlegen mit account.conf
    export DYNV6_TOKEN="deindynv6Token/Benutzername"
    export SYNO_Username="AdminUser"
    export SYNO_Password="AdminPasswort"
  2. Mit der Aufgabenplanung den Docker container erstellen
    docker run -d --name=acme.sh \
    -v /volume1/docker/acme:/acme.sh \
    --net=host \
    --restart unless-stopped \
    neilpang/acme.sh:latest daemon
  3. mit SSH einlogen und folgende Befehle für den Docker container ausführen: docker exec -it
    acme.sh --set-default-ca --server letsencrypt
    acme.sh --issue --dns dns_dynv6 -d beispiel.dynv6.net -d *.beispiel.dynv6.net --dnssleep 300
    acme.sh --deploy -d beispiel.dynv6.net --deploy-hook synology_dsm
  4. NAS neustarten

Beim Schritt acme.sh --deploy -d beispiel.dynv6.net --deploy-hook synology_dsm
bekomme ich die Meldung "Failed to authenticate with error: 407

Hat jemand eine Idee?
 
Nicht nötig

Ich würd mal noch folgendes in die account.conf aufnehmen:
Code:
export SYNO_Port="5000"
export SYNO_Hostname="127.0.0.1"
export SYNO_Scheme="http"
export SYNO_Create="1"
 
  1. setz mal auf --dnsleep 1200 . Bei 300 kann es beim Abgleich Hoster <-> CA zum Timeout kommen
  2. dein Admin-User benötigt 2FA (Infos), Den Wert 'Device-ID' gibt's nicht mehr.
  3. noch ergänzende Infos in der *.conf inkl. Erstellung von Log-Daten

Code:
export SYNO_OTP_CODE="12345678" #(das ist der Code bei der Erstellung 2FA)
export SYNO_SCHEME="http"
export SYNO_HOSTNAME="localhost"
export SYNO_Port="5000"
export SYNO_CREATE='1'
export SYNO_CERTIFICATE="Let's Encrypt"
export SYNO_DEVICE_NAME="CertRenewal"
# Log
LOG_FILE='/acme.sh/acme.log'
LOG_LEVEL='1'

Beim deployhook zur DS kommt dann irgendwann mal die Abfrage nach dem "OTP-Code". An dieser Stelle wird dann einmalig der aktuell generierte OTP (6-stellig) eingetragen. Hiernach trägt acme.sh im Unterverzeichnis deiner Domain einen Schlüssel ein, der gleichzeitig deine "geheime" ID zur Legitimierung ist.
 
  • Like
Reaktionen: update-freak
Mein Admin User benötigt nach wie vor keine 2FA mit den von mir genannten Zeilen

Der Fehler tritt ja auch erst beim Deploy auf und nicht beim Anfordern. Ergo kanns am DNSSleep eigentlich nicht liegen.
 
War eher als "allgemeiner Tipp" zu verstehen.

PS: acme.sh und DS sind bei mir schon wieder eine Weile her, aktuell NPM auf meinem RPi4. Mag sein, dass sich da wieder was geändert hat. Der (sichere) hookup sollte optimiert/verschlankt werden. Es wird ja extra nochmal auf die entsprechenden Zeilen im deploy-script verwiesen

Code:
# Usage (shown values are the examples):
# 1. Set required environment variables:
# - use automatically created temp admin user to authenticate
#   export SYNO_USE_TEMP_ADMIN=1
# - or provide your own admin user credential to authenticate
#   1. export SYNO_USERNAME="adminUser"
#   2. export SYNO_PASSWORD="adminPassword"
# 2. Set optional environment variables
# - common optional variables
#   - export SYNO_SCHEME="http"         - defaults to "http"
#   - export SYNO_HOSTNAME="localhost"  - defaults to "localhost"
#   - export SYNO_PORT="5000"           - defaults to "5000"
#   - export SYNO_CREATE=1 - to allow creating the cert if it doesn't exist
#   - export SYNO_CERTIFICATE="" - to replace a specific cert by its
#                                    description
# - 2FA-OTP optional variables (with your own admin user)
#   - export SYNO_OTP_CODE="XXXXXX" - if set, script won't require to
#                                     interactive input the OTP code
#   - export SYNO_DEVICE_NAME="CertRenewal" - if set, script won't require to
#                                             interactive input the device name
#   - export SYNO_DEVICE_ID=""    - (deprecated) required for omitting 2FA-OTP
#                                   (please auth with OTP code instead)
# - temp admin optional variables
#   - export SYNO_LOCAL_HOSTNAME=1   - if set to 1, force to treat hostname is
#                                      targeting current local machine (since
#                                      this method only locally supported)
# 3. Run command:
# acme.sh --deploy --deploy-hook synology_dsm -d example.com
 
  • Like
Reaktionen: update-freak
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat