Şu anda manuel modda LetsEncrypt müşteri sertifikasıyla da bir DNS doğrulaması yapmak mümkün . Otomasyon da mümkündür (aşağıya bakınız).
Manuel eklenti
Bir manuel doğrulama gerçekleştirebilirsiniz - manuel eklenti ile.
certbot -d bristol3.pki.enigmabridge.com --manual --preferred-challenges dns certonly
Sertifika daha sonra doğrulama işlemine devam etmek için etki alanı için bir TXT kaydını el ile güncellemeniz için bir talimat verecektir.
Please deploy a DNS TXT record under the name
_acme-challenge.bristol3.pki.enigmabridge.com with the following value:
667drNmQL3vX6bu8YZlgy0wKNBlCny8yrjF1lSaUndc
Once this is deployed,
Press ENTER to continue
DNS kaydını güncelledikten sonra Enter tuşuna basın, sertifika devam edecek ve LetsEncrypt CA zorluğu doğrularsa, sertifika normal şekilde verilir.
Ayrıca etkileşimi en aza indirmek ve sertifika görevlilerinin sorularını yanıtlamak için daha fazla seçenek içeren bir komut kullanabilirsiniz. Manuel eklentinin henüz etkileşimli olmayan modu desteklemediğini unutmayın.
certbot --text --agree-tos --email you@example.com -d bristol3.pki.enigmabridge.com --manual --preferred-challenges dns --expand --renew-by-default --manual-public-ip-logging-ok certonly
Yenileme, etkileşimli olmayan modda çalıştığı için manuel eklenti ile çalışmaz. Resmi Certbot belgelerinde daha fazla bilgi .
Güncelleme: manuel kancalar
Yeni Certbot sürümünde kullanabileceğiniz kancaları örneğin --manual-auth-hook
, --manual-cleanup-hook
. Kancalar Certbot tarafından görevi yerine getirmek için yürütülen harici komut dosyalarıdır.
Bilgi ortam değişkenlerinde iletilir - örneğin, doğrulanacak etki alanı, belirteç belirleme. Vars: CERTBOT_DOMAIN
, CERTBOT_VALIDATION
, CERTBOT_TOKEN
.
certbot certonly --manual --preferred-challenges=dns --manual-auth-hook /path/to/dns/authenticator.sh --manual-cleanup-hook /path/to/dns/cleanup.sh -d secure.example.com
Kendi işleyicinizi yazabilir veya zaten mevcut olanı kullanabilirsiniz; örneğin, Cloudflare DNS için mevcut olan birçok şey vardır.
Resmi Certbot kanca belgeleri hakkında daha fazla bilgi
Otomasyon, Yenileme, Komut Dosyası
DNS zorluklarının onaylanmasını otomatikleştirmek istiyorsanız, vanila certbot ile şu anda mümkün değildir. Güncelleme: Certbot kancalarıyla bazı otomasyon mümkündür.
Böylece DNS otomasyonuyla komut dosyası çalıştırmayı destekleyen basit bir eklenti oluşturduk. Sanki kullanılabilir certbot-dış-auth .
pip install certbot-external-auth
DNS, HTTP, TLS-SNI doğrulama yöntemlerini destekler. İşleyici modunda veya JSON çıkış modunda kullanabilirsiniz.
İşleyici modu
İşleyici modunda, certbot + eklentisi doğrulama ve kurulum için harici kancaları (bir program, kabuk betiği, python, ...) çağırır. Uygulamada girdi argümanlarını alan basit bir işleyici / kabuk betiği yazıyorsunuz - domain, token ve DNS'de değişiklik yapan. İşleyici bittiğinde, certbot her zamanki gibi doğrulamaya devam eder.
Bu size ekstra bir esneklik sağlar, yenilenmesi de mümkündür.
İşleyici modu, Susuzlaştırılmış DNS kancalarıyla da uyumludur (eski letsencrypt.sh). Ortak sağlayıcılar için zaten birçok DNS kancası var (örneğin, CloudFlare, GoDaddy, AWS). Depoda geniş örneklere ve örnek işleyicilere sahip bir README vardır.
Susuz DNS kancası ile örnek :
certbot \
--text --agree-tos --email you@example.com \
--expand --renew-by-default \
--configurator certbot-external-auth:out \
--certbot-external-auth:out-public-ip-logging-ok \
-d "bristol3.pki.enigmabridge.com" \
--preferred-challenges dns \
--certbot-external-auth:out-handler ./dehydrated-example.sh \
--certbot-external-auth:out-dehydrated-dns \
run
JSON modu
Başka bir eklenti modu JSON modudur. Satır başına bir JSON nesnesi üretir. Bu daha karmaşık bir entegrasyon sağlar - örneğin, Ansible veya bazı dağıtım yöneticileri sertifika görevlisini çağırıyor. İletişim STDOUT ve STDIN ile yapılır. Cerbot, doğrulamayı gerçekleştirmek için veri içeren JSON nesnesi üretir, örn.
certbot \
--text --agree-tos --email you@example.com \
--expand --renew-by-default \
--configurator certbot-external-auth:out \
--certbot-external-auth:out-public-ip-logging-ok \
-d "bristol3.pki.enigmabridge.com" \
--preferred-challenges dns \
certonly 2>/dev/null
{"cmd": "perform_challenge", "type": "dns-01", "domain": "bs3.pki.enigmabridge.com", "token": "3gJ87yANDpmuuKVL2ktfQ0_qURQ3mN0IfqgbTU_AGS4", "validation": "ejEDZXYEeYHUxqBAiX4csh8GKkeVX7utK6BBOBshZ1Y", "txt_domain": "_acme-challenge.bs3.pki.enigmabridge.com", "key_auth": "3gJ87yANDpmuuKVL2ktfQ0_qURQ3mN0IfqgbTU_AGS4.tRQM98JsABZRm5-NiotcgD212RAUPPbyeDP30Ob_7-0"}
DNS güncellendiğinde, arayan doğrulama işlemine devam edebileceğini belirtmek için sertifikanın STDIN'sine yeni satır karakteri gönderir.
Bu merkezi yönetim sunucusundan otomasyon ve sertifika yönetimi sağlar. Kurulum için sertifikaları SSH üzerinden dağıtabilirsiniz.
Daha fazla bilgi için lütfen certbot-external-auth GitHub hakkındaki benioku ve örneklere bakın .
EDIT: DNS doğrulama problemini ve eklenti kullanımını tanımlayan yeni bir blog yazısı var .
EDIT: şu anda Ansible 2 adımlı doğrulama üzerinde çalışıyoruz, yakında kapanacak.