Kukla yöneticime birden fazla dns adı nasıl eklenir?


16

benim kukla.

[master]
certname = myname.mydomain.com
ca_server = myname.mydomain.com
certdnsnames = puppet;puppet.local;myname.dyndns.org;hivemind.local;

tanımlanan certdnsnames ile anlayışım için aşağıdakilerin çalışması gerekir:

puppet agent --server myname.dyndns.org --test

ama aşağıdaki hatayı alıyorum:

err: Could not retrieve catalog from remote server: hostname was not match with the server certificate

bu hatayı nasıl önleyebilirim? certdnsnames nasıl doğru tanımlanır? Bu konuda farklı belgeler bulduk, ama basit bir örnek. ii ayırma için "," kullanıyorum i imzalayamıyorum. ben de bir sözdizimi gördüm

certdnsnames = puppet:puppet.intra.myserver.fr,puppet.myserver.fr:puppet,puppet:puppet,puppet.intra.myserver.fr,puppet.myserver.fr

http://projects.puppetlabs.com/issues/5776

ama benim için ne zaman "kukla:" ekleyeceğim ve ne zaman eklenmeyeceği belli değil.

Yanıtlar:


25

Bu yanıta rastlayan herkesin yararına:

CVE-2011-3872 nedeniyle , Kukla certdnsnamesseçeneği desteklemiyor . Belgelerden:

Certdnsnames ayarı artık CVE-2011-3872'den sonra işlevsel değil. Değeri tamamen görmezden geliriz. Kendi sertifika isteğiniz için yapılandırmada dns_alt_names ayarlayabilirsiniz ve yerel olarak uygulanır. Başka bir düğüm sertifikası için DNS alt adlarını veya başka bir topicAltName değerini ayarlamak için yapılandırma seçeneği yoktur. Alternatif olarak, kendi CSR'nizi oluştururken eklenen etiketleri ayarlamak için --dns_alt_names komut satırı seçeneğini kullanabilirsiniz.

Aşağıdaki gibi topicAlternativeName'i kullanarak sunucunuz için bir SSL sertifikası oluşturabilirsiniz:

$ puppet cert generate <puppet master's certname> --dns_alt_names=<comma-separated list of DNS names>

3
Ek not: Kukla sertifikası oluşturma işlemini çalıştırmadan önce, / var / lib / kukla / ssl / private_keys, / var / lib / kukla / ssl / ca / ​​imzalı / ve / var / lib / kukla içindeki kukla ustası için .pem dosyalarını kaldırın / sSL / certs. Yeni bir sertifika oluşturmak, var olan istemcilerle bağlantıyı öldürmemektedir, çünkü ilk bağlantıda indirdikleri CA'nın sertifikasını kullanarak kukla yöneticisinin sertifikasını doğrulamaktadırlar.
Erik Forsberg

9
Hey, geçmişten gelen Lars'a teşekkürler. Sorumu daha şimdi cevapladın.
larsks

2

Kukla 4+ için, kukla sunucusu sertifikası için kabul edilen dns adlarını değiştirmek üzere aşağıdaki komutları kullanın:

Mevcut sertifikaları * .backup olarak yeniden adlandırın:

mv /etc/puppetlabs/puppet/ssl/private_keys/$(hostname -f).pem{,.backup}
mv /etc/puppetlabs/puppet/ssl/ca/signed/$(hostname -f).pem{,.backup}
mv /etc/puppetlabs/puppet/ssl/certs/$(hostname -f).pem{,.backup}

yeni sertifika oluştur (istediğiniz alternatif adları ekleyin):

puppet cert generate $(hostname -f) --dns_alt_names=$(hostname -f),puppet

yeni sertifikaları kullanmak için kukla sunucusunu yeniden başlat

service puppetserver restart

1

Bu yanıtı kabul etmediğim için üzgünüm, "kolon" ile bir çeviri sorunu vardı, bu yüzden diğer cevap sadece bana doğru char göstererek bana yardımcı oldu :) ama cevabınız için teşekkür ederim
c33s

0

Göre

puppet agent --genconfig

iki nokta üst üste işaretli (":" değil ";") bir liste kullanmalısınız.

Bu yüzden olmalı

certdnsnames = 'puppet:puppet.local:myname.dyndns.org:hivemind.local'

HTH


0

Kukla sunucu sertifikasına SAN girişi eklemek için şunu kullanın:

systemctl stop puppetserver
puppetserver ca setup --subject-alt-names $(hostname -f),puppet
systemctl start puppetserver

aracılığıyla mevcut certs temizlemek gerekebilir rm -rf $(puppet master --configprint ssldir)yanı

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.