[Frage] SSL Zertifikat (Webserver) per shell einfügen und verteilen

PotthoffHD

Benutzer
Mitglied seit
31. Aug 2021
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
Hallo zusammen,

super Anleitung danke für die mühe kann man nicht anders sagen.

Ich habe DSM 7.0.1 Update 2 auf einer RS815plus ich weiß nicht ob sich da was geändert hat in der Zeit aber leider geht der Befehl nicht zum anzeigen der laufenden Dienste: synoservicecfg -list und finde im Web auch leider nichts dazu.


Weiß einer woran das vieleicht liegen könnte?

MfG Dennis
 
Zuletzt bearbeitet:

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.383
Punkte für Reaktionen
1.198
Punkte
234
Code:
#Alter Befehl (DSM6)
/usr/syno/sbin/synoservicectl --reload nginx

# Neuer Befehl (DSM7)
/usr/bin/systemct restart nginx

Das Script ansich scheint noch zu funktionieren.
Hier ist übrigens ein kleiner Tippfehler: unter DSM7 heißt das Programm systemctl (da fehlte das kleine L am Ende)
 

PotthoffHD

Benutzer
Mitglied seit
31. Aug 2021
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
Hallo und schönes wochenende zusammen,


mittlerweile ist die pfSense einige Versionen weiter genauso wie das DSM. Bei mir sind mit den letzten Updates die Skripte leider ausgefallen.
Bei dem Copy Skript von der Firewall auf die Synology musste bei dem SCP Befehl noch -O mit hinzugefügt werden damit das Kopieren wieder funktioniert.

Version: pfSense plus 23.01
DSM 7.1.1-42962 Update 4

Aber leider habe ich noch ein Problem mit dem Python Skript, dort bekomme ich immer die Fehlermeldung "python: can't open file 'get-cert-dirs.py': [Errno 2] No such file or directory" obwohl sich an den Pfaden nichts geändert hat.

Die Berechtigungen habe ich auch schon überprüft, aber auch da ist alles beim Alten.
Leider kenne ich mich mit Python nicht so gut aus um zu wissen ob man das Skript etwas anpassen kann.

MfG
 

shuvit

Benutzer
Mitglied seit
23. Jul 2010
Beiträge
7
Punkte für Reaktionen
4
Punkte
59
@PotthoffHD es geht seit längerem wesentlich einfacher - sieh Dir mal diese Anleitung an:
https://github.com/acmesh-official/acme.sh/wiki/Synology-NAS-Guide oder
https://lippertmarkus.com/2020/03/14/synology-le-dns-auto-renew/
Funktioniert bei mir und meinen Freunden auf sieben verschiedenen DS-Geräten seit längerem problemlos. Der einzige Schönheitsfehler besteht darin, dass bei zweiten Erneuern der Besitzer auf dem Zertifikatordner verstellt wird. Einfach zu lösen: nach dem ersten Zertifikaterstellen ssh-Verbindung mach und sudo chown -R mycertadmin /usr/local/share/acme.sh/ ausführen.
 

maddes-b

Benutzer
Mitglied seit
26. Feb 2024
Beiträge
2
Punkte für Reaktionen
0
Punkte
1
Hallo zusammen,

da ich keine DNS-Authentifizierung verwenden kann, hole ich mir deshalb über rsync die SSL-Zertifikate auf die NAS, kopiere auf die relevanten Dienste und starte die Dienste durch.

Dafür habe ich mir ein Python-Skript geschrieben:
https://github.com/maddes-b/synology-nas-tools/blob/main/get-dsm-cert-info.py
Nachdem ich die richtigen Begriffe gefunden hatte, habe ich diesen Thread gefunden und gesehen, dass @rubinho ein ähnliches Skript geschrieben hatte.
Meins funktioniert etwas anderes, und ist vielleicht für den einen oder anderen Zweck vorteilhafter.
Ich denke ich werde zusätzlich zum Filtern auf ID und/oder Service, dies auch auf für die Description einbauen, dann hat es auch die Funktionalität von rubinhos Skript.

Gruß
Maddes
 
Zuletzt bearbeitet:

maddes-b

Benutzer
Mitglied seit
26. Feb 2024
Beiträge
2
Punkte für Reaktionen
0
Punkte
1
Durch weiteres Suchen habe ich eine Möglichkeit gefunden, ein bereits auf dem NAS kopiertes Zertifikat zu aktivieren, so dass es nach /usr/syno/etc/certificate/_archive/<cert id> kopiert und auf die dazugehörigen Services verteilt wird.

Hier ein Beispiel für ein Let's Encrypt Zertifikat, welches auf einem anderen Server erstellt wurde, und auf die NAS kopiert wurde unter dem fiktiven Pfad /path/to/temporary/upload/
Will man ein bestehendes Zertifikat aktualisieren muss man die 6-stellige <cert id> und die dazugehörige Beschreibung korrekt angeben.
Für ein neues Zertifikat reicht die Beschreibung.
Optional kann man angeben, ob das zu aktivierende Zertifikat als Default Zertifikat verwendet werden soll.
Für die Ermittlung der Zertifkat ID hilft meine Skript vom Post hiervor.
Die Parameter der Methode müssen im JSON-Format sein, als benötigen String zusätzlich umschliessende Anführungszeichen.

```
/usr/syno/bin/synowebapi --exec-fastwebapi api="SYNO.Core.Certificate" method="import" version="1" key_tmp="\"/path/to/temporary/upload/privkey.pem\"" cert_tmp="\"/path/to/temporary/upload/cert.pem\"" inter_cert_tmp="\"/path/to/temporary/upload/chain.pem\"" id="\"<cert id>\"" desc="\"<cert desc>\""
# optional: as_default="\"true\""
```

Informationen gefunden auf
https://github.com/zaxbux/syno-acme/blob/main/acme.sh/deploy/synology_dsm_local.sh
https://github.com/acmesh-official/acme.sh/blob/master/deploy/synology_dsm.sh
 
Zuletzt bearbeitet:


 

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