मेरे पास एक कठपुतली मास्टर / एजेंट स्थापित है, और मास्टर पर एजेंट के लिए प्रमाण पत्र पर सफलतापूर्वक हस्ताक्षर किए हैं। हालाँकि, जब मैं दौड़ता puppet agent --test
हूँ तो मुझे एक विफलता मिलती है जो इस तरह दिखती है:
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.com
मास्टर है
मैं यह कैसे तय करुं? मैंने सुनिश्चित किया है कि दोनों घड़ियाँ एक ही समय क्षेत्र में सही समय पर हैं, मैंने एजेंट /var/lib/puppet/ssl
निर्देशिका में सब कुछ हटा दिया है और इस्तीफा दे दिया है, मुझे नहीं पता कि क्या करना है।
masterhost.domain.com
भी वही है hostname.domain.com
, है ना? चलो यह कोशिश करते हैं, हम देखेंगे कि क्या प्रमाण पत्र मैन्युअल रूप से सत्यापित करते हैं; openssl s_client -connect masterhost.domain.com:8140 -showcerts
प्रमाणपत्र डेटा को चलाएं और कॉपी करें (शुरू होता है -----BEGIN CERTIFICATE-----
, उस लाइन और अंतिम प्रमाणपत्र लाइन को एक नई फ़ाइल में शामिल करें), फिर चलाएं openssl verify -CAfile /var/lib/puppet/ssl/certs/ca.pem /path/to/file/from/last/command
, और देखें कि क्या यह सत्यापित होता है।
-showcerts
की सामग्री के साथ /var/lib/puppet/ssl/certs/ca.pem
- वे समान होना चाहिए?