मेरे पास एक कठपुतली मास्टर / एजेंट स्थापित है, और मास्टर पर एजेंट के लिए प्रमाण पत्र पर सफलतापूर्वक हस्ताक्षर किए हैं। हालाँकि, जब मैं दौड़ता 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- वे समान होना चाहिए?