Letsencrypt Wildcard Zertifikat, Anleitung für Noob?

SoniX

Benutzer
Mitglied seit
14. Okt 2010
Beiträge
732
Punkte für Reaktionen
24
Punkte
38
Hallo,

Bin zwar kein richtiger Noob, aber in dieser Hinsicht fehlt mir doch etwas Verständnis und deswegen bitte ich um eine funktionierende Anleitung.

Bisher hatte ich Letsencrypt Wildcardzertifikate mittels sslforfree gemacht; die gibt es aber nichtmehr.
Nun wollte ich das manuell machen, aber bin gescheitert.
Die Diskstations unterstützen inzwischen zwar die automatische Erstellung von Wildcardzertifikaten, aber wohl nur mit dem Synology ddns Dienst.
Ich habe aber meine eigene Domain.

Hier im Forum bin ich auf diese Anleitung gestossen:
https://forum.synology.com/enu/viewtopic.php?t=141181
Erstmal habe ich SSH aktiviert und wollte mich einloggen. root wird aber nicht angenommen. Ist das nun anders? Damals konnte man sich als root einloggen.
Gut, also als admin eingeloggt, das Script geladen, Ausführbar gesetzt und aufgerufen. Dann den txt Eintrag im DNS hinterlegt und das Zertifikat erneuert.
Hat soweit geklappt!
Allerdings stecke ich dann hier: "cp "/root/.acme.sh/*.timara.nl/*.timara.nl.cer" "/usr/syno/etc/ssl/ssl.crt/server.crt" "
Zuerst Permission denied; klar ich bin nur admin und nicht root. Also mit sudo versucht, dann bekomme ich aber "No such file or directory".

So, und nun?

Welche Anleitung ist denn aktuell und funktioniert?

Bitte um Hilfe! Vielen Dank!

PS: Brauche garnichts automatisches. Habe kein Problem wenn ich das alle drei Monate einmal mache. Muss nur wissen wie! .-)
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
12.287
Punkte für Reaktionen
2.855
Punkte
423
Ich hab da auch noch nicht die ultimative Lösung gefunden, aber ich hab mir mit Hilfe von acme.sh ein Script gebastelt, das wenigstens den ersten Teil abdeckt. Das rufe ich als root von Zeit zu Zeit manuell auf und installier dann das Zertifikat auch manuell über die DSM-Oberfläche.
Code:
# s. https://forum.synology.com/enu/viewtopic.php?t=141181
DOMAIN=example.com
./acme.sh --renew $1 -d *.$DOMAIN -d $DOMAIN --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please

status=$?
if [ $status -eq 0 ]; then
  # update used certificates
  echo "Copying certs to /volume1/daten ..."
  cp "/root/.acme.sh/*.${DOMAIN}/*.${DOMAIN}.cer" "/volume1/daten/${DOMAIN}.cer"
  cp "/root/.acme.sh/*.${DOMAIN}/*.${DOMAIN}.key" "/volume1/daten/${DOMAIN}.key"
  cp "/root/.acme.sh/*.${DOMAIN}/ca.cer" "/volume1/daten/${DOMAIN}.ca.cer"
fi
Vielleicht hilft dir das Code-Schnipsel bei eigenen Versuchen weiter.

Edit: zum root wirst du, indem du dich zunächst als "admin" anmeldest und dann mit "sudo -i" auf root umschaltest. Ich hab inzwischen ein Zertifikat hinterlegt, damit es direkt geht. Aber das ist ein ganz anderes Thema.
 
Zuletzt bearbeitet:

SoniX

Benutzer
Mitglied seit
14. Okt 2010
Beiträge
732
Punkte für Reaktionen
24
Punkte
38
Okay, ich komme Stück für Stück weiter :)

Zuertsmal gestolpert über Windows/Linux Unterschiede am Zeilenende. Resultierte in:
" is an IDN( Internationalized Domain Names), please install 'idn' command first."
Also das Script neu gespeichert. War richtig von mir geraten und hat geklappt.

root hat auch geklappt mit sudo -i ;-)
Allerdings dann: "It seems that you are using sudo, please read this link first:....."
Oh man.... ernsthaft?

Als admin läuft das Script durch. --force muss ich auch dranhängen weil da ja schon ein Zertifikat liegt welches überschreiben gehört.
Hat dann aber wieder keine Berechtigung das Zertifikat zu kopieren "Permission denied".

Ich wundere mich nicht wenn viele einfach sagen "Sch*** drauf!". Es ist schon zermürbend.

Aber ich werde das Zeug schon irgendwie knacken. Auf jeden Fall war und ist mir dein Script eine große Hilfe!

Edit: "[Tue Jun 23 19:57:35 CEST 2020] '*.domain.tld' is not a issued domain, skip." :rolleyes:

Edit2: Habe die eh schon erstellten Zertifikate nun manuell rauskopiert und in der Diskstation importiert. Hat auch geklappt :)
Allerdings.... nur auf dieser Diskstation. Der Router frisst das nicht. Der meint bloß "Illegales Zwischenzertifikat".
Ja wie was denn nun? o_O
 
Zuletzt bearbeitet:

TeXniXo

Benutzer
Mitglied seit
07. Mai 2012
Beiträge
4.948
Punkte für Reaktionen
99
Punkte
134

SoniX

Benutzer
Mitglied seit
14. Okt 2010
Beiträge
732
Punkte für Reaktionen
24
Punkte
38
Nun weiß ich wieder warum ich das Linux Mediacenter welches ich vor einem halben Jahr versucht hatte einzurichten verflucht habe.

Melde Dich auf Deiner Synology mit Deinem User (nicht root) per ssh an.
-> Klappt nicht. Ein normaler User kann sich nicht per SSH anmelden.

Also als admin gemacht und direkt beim ersten Befehl:
Rich (BBCode):
wget https://raw.githubusercontent.com/Neilpank/acme.sh/master/acme.sh
Will not apply HSTS. The HSTS database must be a regular and non-world-writable file.
ERROR: could not open HSTS store at '/var/services/homes/admin/.wget-hsts'. HSTS will be disabled.
--2020-06-23 22:51:24--  https://raw.githubusercontent.com/Neilpank/acme.sh/master/acme.sh
Resolving raw.githubusercontent.com... 151.101.112.133
Connecting to raw.githubusercontent.com|151.101.112.133|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2020-06-23 22:51:25 ERROR 404: Not Found.

404? Befehl mehrfach kopiert, mehrfach versucht und geprüft. Klappt nicht.

Da ich das Script ja schon geladen hatte, habe ich den alten Befehl nochmals benutzt. Klappt nun auch.
Was nun der Unterschied ist? Ich bin zu blöd es zu sehen? Die sind augenscheinlich gleich?

Rich (BBCode):
wget https://raw.githubusercontent.com/Neilpang/acme.sh/master/acme.sh
Will not apply HSTS. The HSTS database must be a regular and non-world-writable file.
ERROR: could not open HSTS store at '/var/services/homes/admin/.wget-hsts'. HSTS will be disabled.
--2020-06-23 22:49:26--  https://raw.githubusercontent.com/Neilpang/acme.sh/master/acme.sh
Resolving raw.githubusercontent.com... 151.101.12.133
Connecting to raw.githubusercontent.com|151.101.12.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 197216 (193K) [text/plain]
Saving to: 'acme.sh'

acme.sh                             100%[==================================================================>] 192.59K  --.-KB/s    in 0.08s

2020-06-23 22:49:27 (2.49 MB/s) - 'acme.sh' saved [197216/197216]

Nundenn. Das Script ist nun drauf. Weiter gehts. Läuft auch durch. DNS Eintrag wird hinterlegt. renew klappt auch!
Nun noch die Zertifikate rausholen. Hat geklappt! :-D

Auf der Diskstation lassen sich die auch super importieren. Soweit war ich ja schon.

Auf dem Router und meinen anderen Diskstations aber bekomme ich es trotzdem nicht drauf.
"Illegales Zwischenzertifikat. Bitte importieren sie das richtige Zertifikat."
AAAAAAHHHH..... WIIEEESOOOO???

:cry::cry::cry:

Edit: Auch wenn ich das funktionierende Zertifikat aus der DS exportiere kann ich es woanders nicht importieren.
Ich kann ja nicht für all meine Geräte diesen ganzen Wulst einzeln machen. Da werde ich ja alt.
Mit sslforfree hatte es auch geklappt. Was haben die anders gemacht?
 
Zuletzt bearbeitet:

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
12.287
Punkte für Reaktionen
2.855
Punkte
423
Tipp: Mach eine deiner DSen zum Master, wo du die Zertifikate pflegst. Dort nutzt du den Reverse Proxy der DS zum Verteilen der Zugriffe auch auf andere Geräte, am Besten über weitere CNAMES.

PS: zum root wirst du, indem du dich zunächst als admin anmeldest, dann "sudo -i" absetzt und das Passwort nochmal eingibst.
 

SoniX

Benutzer
Mitglied seit
14. Okt 2010
Beiträge
732
Punkte für Reaktionen
24
Punkte
38
Hey guten Morgen :)

Vielen Dank erstmal. Ich habe die eine Diskstation als Master. Genau wie du es beschreibst mit Reverse Proxy und CNAME :)

Ich würde aber trotzdem gerne überall das passende Zertifikat einspielen. Was ist der Grund dass dies mit sslforfree geklappt hatte, abet jetzt nichtmehr? Das Zertifikat ist ja korrekt. Es klappt aber nur auf diesem einen Gerät. Wieso?

Ja, das mit root wurde mir gestern schon verraten. Wusste ich zuvor nicht. Meine Linuxzeit ist zulange her. :) In diesem Fall aber half es nichts, denn acme bricht ab wenn man es als root ausführt obwohl so in Anleitungen beschrieben. Aber es ist ja auch beschrieben man solle sich als User über SSH anmelden, was per default auch nicht klappt.

Egal. Es funktioniert ja nun. Würde das Zertifikat nur gerne noch überall einspielen können.
 

SoniX

Benutzer
Mitglied seit
14. Okt 2010
Beiträge
732
Punkte für Reaktionen
24
Punkte
38
Niemand eine Lösung wie ich das Zertifikat der Diskstation auf dem Router einspielen kann?

Würde es am Router brauchen, da ich gerne VPN nutzen möchte und das verweigert mir den Dienst ohne gültiges Zertifikat.
 

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.258
Punkte für Reaktionen
920
Punkte
174


 

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