Probleme mit LetsEncrypt (git + ~ selbst)

  • Hey.


    (Debian Jessie)



    Ich habe meinen Server bzw die Domains schon mit selbst signierten Zertifikaten ausgestattet, um wenigstens schonmal verschlüsselt zu haben. Nun wollte ich Letsencrypt installieren und nach und nach alles über deren Zertifikate laufen lassen.


    Da gibt es ja den schönen Befehl git clone xy mit welchem man sich Lets Encrypt downloaden kann. Gebe ich diesen ein kommt als Fehlermeldung "Problem with the SSL CA cert (path? access rights?) " Auf diversen Seiten wurde als einfache (jedoch blöde) Lösung geschrieben, man sollte http.sslVerify mal auf false stellen. Das tat ich und danach funktionierte soweit alles. Ich hatte hetzt eine letsencrypt Ordner auf meinem Server. (http.sslVerify wurde danach auf true gestellt!)


    Nun navigierte ich in diesen Ordner und führte ./letsencrypt-auto --help aus. Es kam eine Meldung es würde etwas downloaden. Selbst nach mehreren Versuchen und einem Neustart kam diese Meldung.


    // Auf einem Wheezy Server funktionierte das ganze auf Anhieb. Warum auch immer. Aber ich möchte das ganze auf meinem und nicht eines Bekannten Servers haben.


    Hat sonst schon jemand von euch Erfahrungen mit Letsencrypt und kann mir eventuell sogar weiterhelfen?


    ~ Simon

    2 Mal editiert, zuletzt von Gelöscht05 ()

  • Aber eine Frage habe ich dennoch:


    Hat jemand von euch schon ein vollständiges Script um die Zertifikate zu erneuern? Bzw eine Version ohne die klick Oberfläche. Im Internet fand ich auf Anhieb 2 Lösungen die eine war etwas verwirrend und die andere hat nicht funktioniert :S


    Simon

  • Ich persönlich verwende lukas2511/letsencrypt.sh mit einer angepassten Konfiguration, damit die Challenges in ein bestimmtes Verzeichnis geschrieben werden, welches über Alias-Einträge in die verschiedenen VirtualHosts (Beispiel) für .well-known-Anfragen gehängt wird.


    Ich nutze lukas2511/letsencrypt.sh, da es ein kleines Projekt ist und ich es daher vor der Verwendung überprüfen konnte und auch in Zukunft Änderungen nachvollziehen kann.


    Das Skript wird bei mir von einem unprivilegiertem deaktivierten Systemnutzer ausgeführt. Die Dienste, die die erzeugten Zertifikate verwenden, greifen direkt auf diese im geschützten Arbeitsverzeichnis des Nutzers zu. Die automatische Aktualisierung erfolgt in Zukunft über einen Cronjob.

  • Ich hab mir hier einfach ein kleines bash script gezimmert, das kann gleich mehrere Zerfikate hintereinander requesten und respektiert dort auch SAN certs.
    letsencrypt-renewal.sh · GitHub


    Einfach die Variablen anpassen, aus dem Domain Array wird pro Stringzeile 1 Zertifikat erstellt.
    Am Ende je nach Webserver dann reloaden, ich nutze nginx.

  • Habe lukas2511s Skript soweit fertig. Sprich config, domain.txt alles wunderbar.


    Doch wenn ich ./test.sh ausführe kommt die Fehlermeldung

    Code
    ERROR: Not running in CI environment!


    Ich hab schonmal alles neu installiert und eingerichet.. Komme da einfach nicht weiter.


    (Und ist es normal, dass private_key.pem neuerdings eine .json ist? Bei mir konnte ich keine .pem im Account Ordner finden. / Hab dann einfach die Endung geändert)

  • Vielleicht solltest Du auch nicht die automatisierten Tests starten (die eine CI-Umgebung ewarten) sondern stattdessen letsencrypt.sh verwenden. ;)


    Für Details, siehe den Abschnitt Usage


    Da man selbst nicht zwingend Zertifikate erzeugen muss, genügt es die domains.txt anzulegen, bei Bedarf eine Konfiguration und einen Befehl abzusetzen.


    Bei mir sieht das in etwa so aus (…/bin/update.sh:(


    Bash
    #!/bin/bash
    cd "$(dirname "$0")"
    ../vendor/letsencrypt.sh/letsencrypt.sh --config ../config/config.sh --cron


    In der Konfiguration habe ich nur WELLKNOWN definiert, was man natürlich nicht machen muss.


    In den VirtualHosts bzw. der HTTP-Konfiguration muss man dann noch die Challenge-Dateien zugänglich machen. Für Apache habe ich weiter oben schon eine Möglichkeit verlinkt. Für nginx kann man die offizielle Dokumentation konsultieren. Ich hoffe, dass damit alle Fragen geklärt wären. :)

  • Ok.
    Dann hab ich mich wohl den ganzen Tag über ein irrelevantes Skript aufgeregt, was nichts auszusagen hat. Ok.


    Nunja ich hab das jetzt alles soweit nur hab ich Probleme mit meinem private key.


    Im Original Ordner gab es nur eine .json Datei. Diese hab ich rüberkopiert und die Endung zu .pem abgeändert. Funktioniert nicht. Ebenso nicht, wenn ich die .json Endung lasse und in der config den Pfad ändere.



    [Blockierte Grafik: http://up.picr.de/24134105it.jpeg]


    Hat jemand einen Rat für mich?

  • Die JSON-Datei ist natürlich kein Zertifikat. Mach die Änderungen wieder rückgängig und lass das Skript den privaten Schlüssel automatisch erzeugen. Die Zertifikate werden in certs gespeichert und mit aktuellen Symlinks versehen, falls kein Problem bei der Überprüfung durch Let's-Encrypt aufgetreten ist.

  • Bei mir funktionierts auch wieder. Hab ca-certificates runtergeschmissen und neu installiert.


    Ähm.. Wenn ich den Error Challenge is invalid bekomme, kann das auch daran liegen, dass mein Zertfikat Limit pro Domain (5 in 7Tagen) aufgebraucht ist? (Hab nen bisschen viel mit letsencrypt ausprobiert)



    Simon



    / Bin mir sogar ziemlich sicher... Über den offiziellen Client gehts nämlich auch nicht... Jedoch bei einer anderen Domain..