Kukla aracı sertifikası doğrulama hatası


10

Bir Kukla Yöneticisi / Aracısı ayarladım ve ana bilgisayarda aracı için sertifikayı başarıyla imzaladım. Ancak, ben çalıştırmak puppet agent --testgibi bir hata alıyorum:

Warning: Unable to fetch my node definition, but the agent run will continue:  
Warning: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [certificate signature failure for /CN=hostname.domain.com]  
Info: Retrieving plugin  
Error: /File[/var/lib/puppet/lib]: Failed to generate additional resources using 'eval_generate: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [certificate signature failure for /CN=hostname.domain.com]  
Error: /File[/var/lib/puppet/lib]: Could not evaluate: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [certificate signature failure for /CN=hostname.domain.com] Could not retrieve file metadata for puppet://hostname.domain.com/plugins: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [certificate signature failure for /CN=hostname.domain.com]  
Error: Could not retrieve catalog from remote server: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [certificate signature failure for /CN=hostname.domain.com]  
Warning: Not using cache on failed catalog   
Error: Could not retrieve catalog; skipping run  
Error: Could not send report: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [certificate signature failure for /CN=hostname.domain.com]  

hostname.domain.comusta

Bunu nasıl düzeltirim? Her iki saatin aynı saat diliminde doğru zamanda olduğundan emin oldum, ajan /var/lib/puppet/ssldizinindeki her şeyi sildim ve istifa ettim, başka ne yapacağımı bilmiyorum.


Kaptanınız müşterinizin güvenden farklı bir sertifika kullanıyor gibi görünüyor mu? Kaptanın sertifikası değişti mi?
Shane Madden

@ShaneMadden Ben öyle düşünmüyorum ... ustaları ve müşteri sertifikalarını temizleyip iptal etmeli miyim? Master sertifikaları ile hiç uğraşmadım, ama "kukla sertifika listesi --all" çıktısı şöyle görünüyor: + "masterhost.domain.com" (SHA1) E1: F7: 6A: 21: CB: CD: xx: xx: xx: xx ... + "agenthost.domain.com" (SHA256) 5A: D9: 7B: 96: 0B: FF: E4: 87: 58: AF: 00: xx: xx: xx : xx ..
John Smith

Ve bu masterhost.domain.com, hostname.domain.comsorunuzdakiyle aynı , değil mi? Bunu deneyelim, sertifikaların manuel olarak doğrulanıp doğrulanmadığını göreceğiz; çalıştırın openssl s_client -connect masterhost.domain.com:8140 -showcertsve sertifika verilerini (ile başlayan -----BEGIN CERTIFICATE-----, bu satırı ve son sertifika satırını ekleyin) yeni bir dosyaya kopyalayın , ardından çalıştırın openssl verify -CAfile /var/lib/puppet/ssl/certs/ca.pem /path/to/file/from/last/commandve doğrulayıp doğrulanmadığına bakın.
Shane Madden

@ShaneMadden Bir şey yanlış gibi görünüyor .... "-showcerts" komutunu çalıştırdığımda, bana iki "start" ve "end" sertifikası verdi, bu yüzden önce bunlardan birini yeni bir dosyaya eklemeyi denedim ve this: / var / lib / kukla / ssl / ca / ​​test: 0 derinlemesine aramada /CN=masterhost.domain.com hatası 7: sertifika imza hatası 22297: hata: 0407006A: rsa yordamları: RSA_padding_check_PKCS1_type_1: blok türü 01 değil: rsa_pk1.c: 100: 22297: hatası: 04.067.072: RSA rutinleri: RSA_EAY_PUBLIC_DECRYPT: dolgu kontrolü başarısız oldu: rsa_eay.c: 697: 22297: hatası: 0D0C5006: ASN1 kodlayan rutinleri: ASN1_item_verify: GMY lib: a_verify.c: 173:
John Smith

Bu garip. O kadar belki sadece ikinci cert içeriğini karşılaştırmak, bağlantıda sunucu sertifika ek olarak kök sertifika gönderiyor gibi geliyor -showcertsiçeriğiyle /var/lib/puppet/ssl/certs/ca.pem- onlar aynı olmalıdır?
Shane Madden

Yanıtlar:


13

Tüm istemci sertifikası kurulumunu yeniden oluşturun. Bu, geçmişte yaşadığımız sertifika sorunlarını her zaman düzeltmiştir. Aşağıdaki talimat, aracınızın ana bilgisayar adının agenthost.hostname.com olduğunu varsayar.

İstemcide, CA dahil tüm depolanmış sertifikaları silin:

find /var/lib/puppet/ssl -name '*.pem' -delete

Ana bilgisayarda, bu müşteri için bekleyen CSR'leri veya eski istemci sertifikalarını silin:

find /var/lib/puppet/ssl -name agenthost.domain.com.pem -delete

Ardından, istemcide, ana sunucuya yeniden bağlanın ve bir CSR gönderin:

puppet agent -t --waitforcert=60

ve beklerken (otomatik atamayı etkin olarak ayarlamadıysanız) master'da CSR'yi onaylayın, böylece yeni bir istemci sertifikası geri gönderilir:

puppet cert sign agenthost.domain.com

Bu, aracıyı kukla CA sertifikalarını yeniden indirmeli ve kendi sertifikası için yeniden başvurmalıdır.

Geçmişte, kukla sunucularını ve CA sertifikalarını değiştirdiğimizde veya aynı ana bilgisayar adına sahip bir ana bilgisayarı yeniden oluşturduğumuzda bu yordamı kullanmak zorunda kaldık.

Acentenizin gerçek tam nitelikli ana bilgisayar adını bildiğinden emin olun; olmasını istediğinizden emin olmak için 'hostname' komutunu kullanın.


3
Üstad'da puppet cert clean ‘agentName’benim için çalışıyor. RHEL Kukla Enterprise'ın SSL yer: /etc/puppetlabs/puppet/ssl. Ve Üstat ile Ajan arasındaki zamanı senkronize ettim.
Ivan Chau

Puppet Enterprise ve daha yeni Puppet 4, yukarıda belirtildiği gibi sertifikalarını / etc / puppetlabs / puppet / ssl altında saklar. / Var / lib / kukla / ssl konumu Kukla 2.x ve 3.x topluluk sürümleri içindir.
Steve Shipway

6

Benzer bir sorunum var. Bir kukla ustası ve birkaç müşteriyle birlikte bir ortam kurdum. Sorun, kuklacıyı yok ettiğimde ve yarattığımda, müşteriler yeni kuklacıyı bir sahtekâr olarak algılıyor.

/etc/puppet/sslİstemciyi silmek sorunu çözer.

SSL yapılandırmanızın önbelleğe alınacağını unutmayın, bu nedenle o ana bilgisayardan da silmeye karar verirseniz, kukla yöneticisinin yeniden başlatılması gerekir /etc/puppet/ssl:

sudo /etc/init.d/puppetmaster restart

service puppetserver restartbenim için düzeltti
spuder
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.