Hey Leute,
ich bin endlich mal dazu gekommen die netcup API für lets encrypt wildcards zu nutzen, .. zumindest war das der plan, ... aber irgendwie läuft das alles nicht so, wie geplant. Hab mich, da netcup api mittlerweile implementiert wurde - danke an linuxinside, mal an dem acme.sh client versucht. (https://github.com/Neilpang/acme.sh)
Installiert habe ich das ganze folgendermaßen:
acme_dir="/etc/acme"
acme_mail="mail@domain.de"
acme_client="My ACME"
acme_install() { mkdir $acme_dir && cd $acme_dir
git clone https://github.com/Neilpang/acme.sh.git acme_install
cd acme_install
./acme.sh --install \
--home $acme_dir \
--config-home $acme_dir/data \
--certhome $acme_dir/mycerts \
--accountemail "$acme_mail" \
--accountkey $acme_dir/myaccount.key \
--accountconf $acme_dir/myaccount.conf \
--useragent "$acme_client"
rm -rf $acme_dir/acme_install
}
Alles anzeigen
Nicht wundern, ich habs direkt als bashscript zum installieren geschrieben, quasi für die "Toolbox"
Zusätzlich habe ich myaccount.conf angepasst:
# Netcup API
nc_id="***"
nc_api_key="***"
nc_api_pw="***"
acme_api() {
cat <<EOT >> $acme_dir/myaccount.conf
# Netcup API
export NC_Apikey="$nc_api_key"
export NC_Apipw="$nc_api_pw"
export NC_CID="$nc_id"
EOT
}
Alles anzeigen
Soweit scheint alles zu funktionieren.
Wenn ich nun aber mit acme.sh --issue --dns dns_netcup -d r3v.de das Zertifikat erstellen will, ... dann sieht alles erst mal danach aus, dass es funktioniert:
root@r3v:/etc/acme/acme_install# acme.sh --issue --dns dns_netcup -d r3v.de
shell-init: Kann das aktuelle Verzeichnis nicht wiederfinden: getwd: Kann auf das übergeordnete Verzeichnis nicht zugreifen.: Datei oder Verzeichnis nicht gefunden
[So 9. Sep 18:25:40 CEST 2018] Creating domain key
[So 9. Sep 18:25:40 CEST 2018] The domain key is here: /etc/acme/mycerts/r3v.de/r3v.de.key
[So 9. Sep 18:25:40 CEST 2018] Single domain='r3v.de'
[So 9. Sep 18:25:40 CEST 2018] Getting domain auth token for each domain
[So 9. Sep 18:25:40 CEST 2018] Getting webroot for domain='r3v.de'
[So 9. Sep 18:25:40 CEST 2018] Getting new-authz for domain='r3v.de'
[So 9. Sep 18:25:41 CEST 2018] The new-authz request is ok.
[So 9. Sep 18:25:41 CEST 2018] Found domain api file: /etc/acme/dnsapi/dns_netcup.sh
[So 9. Sep 18:25:41 CEST 2018]
[So 9. Sep 18:25:43 CEST 2018] Sleep 120 seconds for the txt records to take effect
[So 9. Sep 18:27:45 CEST 2018] Verifying:r3v.de
[So 9. Sep 18:27:48 CEST 2018] r3v.de:Verify error:No TXT record found at _acme-challenge.r3v.de
[So 9. Sep 18:27:48 CEST 2018] Removing DNS records.
[So 9. Sep 18:27:48 CEST 2018]
Alles anzeigen
Ich hab mal im CCP geguckt, also TXT Record wurde gesetzt, TTL steht auf 10 - wobei das bei nem TXT eigentlich keine Rolle spielen sollte.
Also, was nun? was hab ich übersehen? Was genau hat getwd für ein Problem?
Bei nem neuen Versuch erhalte ich dann:
[So 9. Sep 18:29:05 CEST 2018] new-authz error: {"type":"urn:acme:error:rateLimited","detail":"Error creating new authz :: too many failed authorizations recently: see https://letsencrypt.org/docs/rate-limits/","status": 429}
[So 9. Sep 18:29:05 CEST 2018] Please add '--debug' or '--log' to check more details.
[So 9. Sep 18:29:05 CEST 2018] See: https://github.com/Neilpang/acme.sh/wiki/How-to-debug-acme.sh
Weswegen die Option --debug wohl auch gerade nix bringt
Also, wenn wer Hilfe weiß, oder einen Tipp hat, ich bin für alles offen?
Andere Frage am Rande, benötige ich noch nen zusätzlich cron? So wie ich das verstanden habe, setzt acme.sh einen bei der Installation. Für Docker Container verwende ich auf einem meiner Server aktuell --post-hook, sollte hier ja auch funktionieren, oder? Bzw. hab ich bei der Durchsicht der Befehle gesehen, dass --renew-hook wohl besser geeignet ist.
Schönen Sonntag euch!