acme.sh mit Strato

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Ja, eventuell.

Die Beschreibung habe ich ja für SYNO_Certificate gesetzt in $domain/$domain.conf. Nach der Erneuerung und Deploy steht es Base64 codiert drin.
Bsp. SAVED_SYNO_Certificate='__ACME_BASE64__START_UlNBIsdfeeF4LKSHJDFVlköjojHdlkjsdfeXJk__ACME_BASE64__END_'
Und beim nächsten Deploy 10 Wochen später wollte er es von da nicht mehr fressen. Habe jetzt aber auch nicht weiter recherchiert, sondern erst mal den Eintrag für SAVED_SYNO_Certificate wieder auf den Klartext gesetzt. Dann ging es wieder einmal.
Na ja, vielleicht beim nächsten Mal wieder etwas dazu recherchieren gehen... :)
 
ich würde gerne meine Konfiguration auch noch etwas verbessern.
Aktuell habe ich acme.sh als Docker auf der NAS1 und NAS2 laufen. Beide nutzen unterm Strich das selbe Zertifikat.

Es müsste doch eigentlich reichen, auf NAS1 den Docker laufen zu lassen, der das Zertifikat holt.
und dann müsste ich 2x den Befehl ausführen (1x für NAS1 und 1x für NAS2)

Code:
acme.sh --deploy --insecure -d meineDomain.de --deploy-hook synology_dsm

Aber ich muss dem zweiten Befehl ja die Info geben, dass es NAS2 sein soll, denn aktuell steht in meiner account.conf nur dieser Inhalt:

Code:
export DYNV6_TOKEN='XXX'
export SYNO_Username='meinUser'
export SYNO_Password='meinPasswort'
export SYNO_Scheme='https'
export SYNO_Port='5108'
AUTO_UPGRADE='1'
DEFAULT_ACME_SERVER='https://acme-v02.api.letsencrypt.org/directory'
SAVED_dynv6_token='XXX'
USER_PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
UPGRADE_HASH='XXX'

Geht das?
 
Ich mach das auf meiner Haupt-DS (DS1522+) per Script (acme_renew.sh) mit acme.sh als Docker

Code:
#!/bin/sh
export DOMAIN=example.com
export SYNO_Certificate="*.$DOMAIN"
acme.sh --renew "$@" -d $DOMAIN -d *.$DOMAIN --dns dns_netcup --dnssleep 300
status=$?
if [ $status -eq 0 ]; then
  echo "Deploying $DOMAIN ..."
  export SYNO_Hostname="DS1522"
  echo "Deploying $SYNO_Certificate to $SYNO_Hostname ..."
  acme.sh --deploy -d $DOMAIN -d *.$DOMAIN --deploy-hook synology_dsm
  export SYNO_Hostname="DS415"
  echo "Deploying $SYNO_Certificate to $SYNO_Hostname ..."
  acme.sh --deploy -d $DOMAIN -d *.$DOMAIN --deploy-hook synology_dsm
else
  echo "Renew of $DOMAIN failed"
fi

Die User sind bei beiden DSen gleich und in account.conf hinterlegt. Gescheduled monatlich mit
"docker exec neilpang-acme.sh1 /acme.sh/acme_renew.sh" per Aufgabenplaner.

"acme.sh --renew ..." macht zwar schon einen Deploy mit (den letzten), weil acme.sh sich das intern merkt. Aber das macht ja nichts. Wird halt eine der beiden zweimal deployed.
 
Klasse! Werde es nachher mal probieren.
Würde meinen user noch gerne via 2FA absichern.
Gibt es dazu auch noch ein Wiki Eintrag, wie ich diese Einstellung konfigurieren muss?
 
hallo,

muss das thema noch mal reaktivieren.
wollte diese Prozedur nun auf einer anderen NAS vollziehen.

alles so gemacht wie die Schritte erklärt sind.
Bin nun auf dem acme.sh container terminal und setze folgenden Befehl ab:

acme.sh --issue -d StratoDomain.de -d *.StratoDomain.de --challenge-alias dnyv6Domain.dynv6.net --dns dns_dynv6 -k 4096 --dnssleep 5

Erhalte dann aber den Fehler:

Bildschirmfoto 2023-08-03 um 18.33.36.png


Ich sehe das die beiden txt recoders bei dynv6 angelegt und anschließend auch wieder gelöscht werden.
der A Recoder ist bei dynv6 vorhanden sowie der cname recoder bei strato.

jemand eine Idee?
 
Geh mal mit --dnssleep hoch. 5s ist arg wenig.
 
Probier mal DEUTLICH mehr als 5 Sekunden bei --dnssleep 5.
Die Welt der DNS-Propagierung ist niemals so schnell....

Ich musste damals bei Netcup 600 oder 900 Sekunden verwenden.
 
Siehe meinen Post davor -haben uns überschnitten. 300 hatte ich vorher versucht. Hatte mit 300 auch damals bei mir funktioniert
 
Nimm mal 900 oder noch größer und schau mit "nslookup -q=txt _acme-challenge.irgendwas.dynv6.net 8.8.8.8" zu, während er wartet.
Wenn der Wert springt, hast du einen Anhaltspunkt für das notwendige --dnssleep.
 
Bei netcup muss ich manchmal bis zu 1800 sec warten...
 
hab den Fehler gefunden. peinlich:
statt "challenge" habe ich "challange" geschrieben ....

vergesst bitte alles wieder :)
 
Nächste Runde, damit es nicht langweilig wird ;)
Nun eine Frage zur Optimierung.

Man muss in der account.conf die Zugangsdaten eines DSM Users im Klartext eintragen.
Bin ich persönlich kein Freund von, geht aber anscheinend nicht anders (korrigiert mich bitte, falls doch).

Ich lege für solch einen Fall immer einen extra user an, der nichts kann, außer das was er können soll.
Nun die Frage. Welche Minimumrechte braucht der User? Wenn ich es richtig verstehe, muss er Rechte haben für das EInbinden vom Zertifikat.
Muss er damit nicht automatisch in der Admingruppe sein? Oder geht es mit noch weniger Rechten?

Wie sieht es mit 2FA?
Kann man das mit acme.sh regeln ohne immer wieder den 2FA Code eingeben zu müssen?
 
ahhh perfekt!
und der Wert gilt dann für immer oder muss der irgenwann erneuert werden?
 
Soweit ich weiß muss das ein Adminuser sein. Ich bin mir aber nicht sicher, weil ich nutze das nicht.
 

Additional post fields

 

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