NextcloudPI neu mit veralteten Letsencrypt-Daten?

Hallo,

ich bin noch recht neu hier im Forum.
In den letzten Wochen habe ich mich an verschiedenen NextcloudPi Installationen ausgetobt und hatte bei einer Ă€lteren, mittlerweile nicht mehr vorhandenen Installation ĂŒber dyn6.com in Verbindung mit FritzBox eine Domain fĂŒr den Fernzugriff eingerichtet, das ganze dann mit Letsencrypt zu dieser Domain abgesichert. Nun bekomme ich natĂŒrlich Meldungen von Letsencrypt, dass das Zertifikat ablĂ€uft und erneuert werden muss.
Verstehe ich dass richtig, dass das Zertifikat an die ursprĂŒngliche ncPi-Installation und Domain gebunden ist? Gehe ich ĂŒber ncPi- Admin und versuche mit der Domain und der EMail-Adresse das Zertifikat wieder einzubinden, bekomme ich nur Fehlermeldungen.
Weil ich die Domain gerne weiter benutzen wĂŒrde, gibt es einen Weg (bzw. Doku), wie ich bei Letsencrypt das Zertifikat zu Domain und EMail- Adresse löschen und mit der gegenwĂ€rtigen ncPi Installation wieder neu aufsetzen kann?

Ich bin dankbar fĂŒr jeden Tip!
Viele GrĂŒĂŸe

Gehe ich ĂŒber ncPi- Admin und versuche mit der Domain und der EMail-Adresse das Zertifikat wieder einzubinden, bekomme ich nur Fehlermeldungen.

Es wÀre hilfreich wenn du die Fehlermeldungen hier posten könntest.

Ist der DynDNS Name beim Anbieter des Dienstes noch aktiv und verweist er auch auf deine aktuelle externe IP, sprich erreichst du deine Nextcloud damit von extern?

Hallo bb77,

Sorry fĂŒr meine verspĂ€tete Antwort, ich hatte selber erst noch ein paar Schritte versucht. Aus einer frĂŒheren ncpi Installation hatte ich via Terminal den “letsencrypt” Ordner nach /etc kopiert.
Leider ist die Fehlermeldung dieselbe geblieben (siehe Anhang) - da es verschiedene Installationen waren, könnte allerdings einfach auch die richtige noch nicht dabei gewesen sein.

Aus der Fehlermeldung: mit dem “A” und “AAAA” EintrĂ€gen habe ich bei Erstellung und Nutzung der Zertifikate nie Probleme gehabt, diese Parameter hatte ich nie eingetragen gehabt.
Wenn ich das richtig gesehen habe, Àndern diese sich ja auch einmal am Tag (oder bin ich da verkehrt drauf?)

Rufe ich via Internet die Domain ĂŒber .dynv6.net auf, bekomme ich nur noch “nicht erreichbar” Meldungen

GrundsĂ€tzlich muss dein Nextcloud Server ĂŒber Port80 und 443 mit dem entsprechenden Domainnamen vom Internet aus erreichbar sein, damit die Zertifikate fĂŒr diesen Domainnamen erneuert werden können. Das scheint hier nicht mehr der Fall zu sein.

An einem normalen Heim-Internetanschluss hast du normalweise dynamische IP-Adressen. Wie hĂ€ufig diese Ă€ndern, hĂ€ngt von deinem Provider ab. Genau hier kommen nun Dienste wie dyn9.com ins Spiel. Damit deine dyn9.com Adresse immer auf die jeweils aktuelle IP deines Internetanschlusses zeigt, mĂŒssen diese A und AAAA-EintrĂ€ge jeweils aktualisiert werden, wenn sich deine IP Ă€ndert. Dieser Vorgang muss von deinem Internetanschluss aus, sprich von einem GerĂ€t in deinem Netzwerk initiert werden.

Normalerweise, wird dieser Vorgang durch ein Script auf einem PC oder Server in deinem lokalen Netzwerk, oder direkt auf deinem Router erledigt. Dieses Script meldet dem DynDNS-Anbieter dann im Idealfall automatisiert deine aktuelle IP. Viele Router haben da schon Scripte von den gĂ€ngigen DynDNS-Anbietern hinterlegt, und du musst nur noch diene Zugangsdaten eingeben. Falls dein Router oder NCP keine Einstellungen anbieten fĂŒr dyn9.com, mĂŒsstest du mal auf deren Website schauen, was du sonst noch fĂŒr Möglichkeiten hast, die Aktualisierung automatisiert auszufĂŒhren. Am einfachsten ist es aber, wenn du einen DynDNS-Anbieter wĂ€hlst, der direkt von deinem Router oder von NCP unterstĂŒtzt wird.

GrundsĂ€tzlich muss dein Nextcloud Server ĂŒber Port80 und 443 mit dem entsprechenden Domainnamen vom Internet aus erreichbar sein, damit die Zertifikate fĂŒr diesen Domainnamen erneuert werden können. Das scheint hier nicht mehr der Fall zu sein.

ist er, Ports 80 und 443 sind auf der FritzBox ĂŒber https - tcp freigegeben fĂŒr den Raspi
woraus im Fehlerlog hattest du diese Info her bezogen?

dynv6.net:
hĂ€lt eine sehr detailreiche Anleitung speziell fĂŒr verschiedene Router-Typen / -Modelle vor, diese habe ich 1:1 umgesetzt. Die Weiterleitung lief ja auch bis zuletzt störungsfrei, erst als der Expirybot von Letsencrypt sich meldete, bin ich tĂ€tig geworden. Dabei hat mich am meisten verwundert, das im Adminpanel von ncpi in den Zeilen darĂŒber immer “wird automatisch erneuert” steht.

Bitte nochmal zu meinem VerstÀndnis:
Zertifikate “leben” doch immer von einem öffentlichen und privaten Teil. Habe ich durch das Neuaufsetzen des Systems diesen Kommunikationsprozess mit den Servern von Letsencrypt möglw. selber unterbrochen, da der benötigte Teil des Zertifikats nunmehr nicht mehr auf meinem Raspi vorhanden ist - und hilft mir möglw. ein Reinkopieren aus alten Installationen?

Danke ĂŒbrigens mal fĂŒr Deine Hilfe !

woraus im Fehlerlog hattest du diese Info her bezogen?

“The Server could not connect to the client to verify the domain”

Mit Server ist in diesem Fall der Let’s Encrypt-Server gemeint. Mit Client dein Raspi.

Und du schreibst ja selbst, dass, wenn du die Domain ĂŒber das Internet aufrufst, den Raspi nicht mehr erreichst. WĂ€re er noch erreichbar, kĂ€me bei einem abgelaufenen/ungĂŒltigen Zertifikat irgendeine Zertifikatsfehlermeldung und nicht “nicht erreichbar”

Bitte nochmal zu meinem VerstÀndnis:
Zertifikate “leben” doch immer von einem öffentlichen und privaten Teil. Habe ich durch das Neuaufsetzen des Systems diesen Kommunikationsprozess mit den Servern von Letsencrypt möglw. selber unterbrochen, da der benötigte Teil des Zertifikats nunmehr nicht mehr auf meinem Raspi vorhanden ist - und hilft mir möglw. ein Reinkopieren aus alten Installationen?

Vielleicht wĂŒrde das mit dem rein kopieren sogar funktionieren, wenn das Zertifikat noch gĂŒltig ist. Aber spĂ€tenstens, wenn es wieder erneuert werden soll, hĂ€ttest du wieder das gleiche Problem.

Ich kenne leider den Anbieter dyn6.com ĂŒberhaupt nicht, darum wiederhole ich mich teilweise noch mal und kann dir nur relativ allgemeine Tipps geben.

Damit es funktioniert mĂŒssen die folgenden zwei Punkte erfĂŒllt sein:

  1. Im Router mĂŒssen via Port-Forwarding Port 80 und 443 auf deinen Raspi weitergeleitet werden.
  2. Dein Dyn6-Domainname muss auf deine aktuelle externe IP-Adresse zeigen.

Eines von beidem oder beides ist hier nicht der Fall.

zertifkate enthalten die url des browsers. damit jetzt nicht jeder zertifikate fĂŒr www.google.com ausstellen kann, was man leicht mit openssl auf der kommandoazeile kann, werden zertifikate von vertrauensvollen stellen unterschrieben.

also du gibt’s bei einer solchen stelle dein selbst erstelltes zertifkat ab und erhĂ€lst es unterschrieben zurĂŒck. unterschrieben heißt hier “nochmal” verschlĂŒsseln mit dem privaten teil des schlĂŒssels der vertauensvollen stelle. der öffentliche teil dieses schlĂŒssels ist in deinem browser.

letsencrypt ist eine solche vertrauensvolle stelle. deren öffentlicher schlĂŒssel ist in deinem browser.

jetzt kommt der punkt mit dem vertrauen. letsencrypt möchte gerne wissen, ob dir denn auch die domain www.google.com gehört. also schicken sie dir als gegenzug zu deinem “signing request” einen “challenge” zu, mit der bitte den auf deiner web-seite zur verfĂŒgung zu stellen. der letsencrypt client (certbot, acme.sh, andere) stellt dieses challenge ĂŒber einen webserver zur verfĂŒgung und letsencrypt ruft den ab. fĂŒr deine domain kein problem. falls du das mit www.google.com versuchst, wird’s schwierig. ist der abruf erfolgreich, bekommst du ein unterschriebenes zertifkat turĂŒck. und dein browser bestĂ€tigt dir mit dem schloß, dass du mit deiner seite verbunden bist.

nö. immer wenn du einen letencrypt client beauftragst ein zertifkat zu erstellen/erneuern, wird immer ein neues erstellt und zum unterschreiben geschickt.

p.s.: das mit öffentlichen und privaten teil bezieht sich eher auf asymmetrische kryptographie, wo man öffentliche und private schĂŒssel benutzt. den öffentlichen kann man gefahrlos ĂŒber unsichere kanĂ€le schicken. der dient aber nur zum verschlĂŒsseln der nachricht. deshalb kann den jeder haben.

p.p.s.: das mit dem challenge ĂŒber web ist nur eine methode zu prĂŒfen, ob dir die domain gehört. alternativ kann man auch txt eintrĂ€ge im dns vornehmen. die ruft letsencrypt dann mittels “nslookup” ab.

p.p.p.s: ruf mal mit `curl -v https://www.google.com/ die seite auf der commando zeile auf. dann findest oben im header den “inhalt” des zertifikates.

* Server certificate:
*  subject: C=US; ST=California; L=Mountain View; O=Google LLC; CN=www.google.com
*  start date: Jan  5 12:13:00 2021 GMT
*  expire date: Mar 30 12:12:59 2021 GMT
*  subjectAltName: host "www.google.com" matched cert's "www.google.com"
*  issuer: C=US; O=Google Trust Services; CN=GTS CA 1O1
*  SSL certificate verify ok.

Hallo,
ich habe mich die letzten Tage mit Euren Tipps und RĂŒckmeldungen noch einmal intensiv an meiner NextcloudPi und den Zertifikaten sowie meinen Router-Einstellungen (FritzBox 7410) ausgetobt.

Mehr oder weniger per Zufall fiel dabei ins Auge, dass auf dem Router die CheckBox fĂŒr “Zertifikat von letsencrypt verwenden” deaktiviert war - wieso & warum ? - keine Ahnung ! Ich hatte irgendwann Anfang letzten Jahres diesen Dienst auf meinem Router aktiviert. Nachdem ich diese CheckBox erneut aktiviert hatte, ging auch der Verbindungsaufbau ĂŒber die Domain zur heimischen NCPi via Internet wieder, nur leider ohne “https”.

Weiterhin hatte ich die Freigabe fĂŒr Ports 80 und 443 gelöscht und einfach mal neu angelegt. Leider so auch ohne erkennbaren Erfolg, sodass auch weiterhin beim Versuch das Zertifikat ĂŒber das NCPi Admin-Panel zu erneuern die bereits bekannte Fehlermeldung auftritt.

@ Reiner Nippes: vielen Dank fĂŒr die detaillierte AusfĂŒhrung, konnte ich trotz der KomplexitĂ€t recht gut verstehen!

Hmm. Soviel ich weiss geht es bei dieser Checkbox darum ein Let’s Encrypt Zertifikat fĂŒr die WeboberflĂ€che der Fritzbox zu beziehen. Und wie man verschiedenen Berichten entnehmen kann, ist dann offenbar die WeboberflĂ€che der FritzBox von aussen erreichbar, was ich a) nicht unbedingt empfehlen wĂŒrde und b) sich allenfalls mit der Portweiterleitung auf deinen NCP-Server beissen könnte. Ich habe aber selbst keine Fritzbox und kann nicht aus eigener Erfahrung sprechen. Habe u.a. das dazu gefunden


https://www.golem.de/news/https-fritzbox-bekommt-let-s-encrypt-support-und-verraet-hostnamen-1712-131705.html

Was dein eigentliches Problem betrifft, bin ich ehrlich gesagt etwas ratlos
 Kommt immer noch die exakt gleiche Fehlermeldung, wenn du versuchst das Zertifikat zu erneuern?

Wird wirklich deine externe IP-Adresse aufgelöst, wenn du aus dem Internet deinen dyn6 -Domainnamen aufrufst? Du kannst das z.B. mit diesem Online-Tool ĂŒberprĂŒfen


https://mxtoolbox.com/DnsLookup.aspx

Generell ist es Letsenrypt egal, ob das aktuelle Zertifikat des Webserver noch gĂŒltig oder abgelaufen ist, wenn man es erneuert. Ich habe eine Maschine, die auch nur einmal im Jahr fĂŒr ein paar Wochen hochgefahren wird. Da ist das Zertifikat am Anfang auch immer hoffnungslos abglaufen.

Die Fehlermeldung aus deinem Screenshot ist ĂŒbrigens der Fall, dass der Server, der die Zertifikate ausstellt, sich bei dir die Datei mit dem Geheimnis nicht abholen kann.

Normalerweise schickt der Client von Letsencrypt an deren Server eine Nachricht, dass er unter einer bestimmten URL mit diesem .well-known eine Datei als Geheimnis findet, die einen zufÀlligen Inhalt wie XYZ123 hat.
Dann versucht der Server irgendwie ĂŒber Port 80 oder 443 diese Datei runterzuladen. Ob es da nur http oder vielleicht auch https mit einem beliebigen Zertifikat (gĂŒltig, abgelaufen oder selbstsigniert ist egal) gibt, stört ihn nicht. Da frisst er alles.
Findet er das Geheimnis wie angekĂŒndigt unter der Adresse mit XYZ123 als Inhalt, erstellt er dir ein neues Zertifikat. Das lĂ€dt der Client dann runter und tauscht es dann aus, wenn es schon eins gab, oder passt die Config von deinem Webserver beim ersten Lauf an.

Kannst du mal von einem anderen Internetanschluss schauen, ob du bei deiner aktuellen externen IPv4 ĂŒberhaupt wenigstens eine Antwort auf Port 80 bekommst?

Hallo,
ich konnte die Störung auflösen und jetzt wieder Zertifikate in NCPi erhalten, bzw. erneuern. Durch Eure BeitrĂ€ge und viel Recherche im Internet konnte ich einige Fehler letztenendes ausschließen, z.B. Störung durch die Firewall/Virensoftware des PCs, grundsĂ€tzlicher Fehler beim Verbindungsaufbau zw dem PI und dem Letsencrypt Server, Fehler in den A und AAAA Record Einstellungen bei dynv6.com, usw.
Das brachte mich schließlich dazu, mir die Einstellungen meines Routers (FB7490) nĂ€her anzuschauen; Fehler in den Filterlisten, Portforwarding, bzw -freigaben konnte ich ausschließen. Obwohl im Internet mehrere Post zu finden waren, bei denen im Zusammenhang mit IPv6 und dynv6.com auf die vom Router eingerichtete Verbindungsart verwiesen und empfohlen wurde, konnte ich den Zertifierungsvorgang schließlich dadurch wieder aktivieren, dass ich auf IPv6 Tunnelprotokoll und “6to4” umgestellt habe - dann ist der Vorgang sofort problemlos durchgelaufen.

Vielen Dank fĂŒr Eure Hilfe
& alles Gute !

1 Like