कठपुतली hostname सर्वर प्रमाण पत्र से मेल नहीं खाता


10

मैं कठपुतली स्थापित के साथ एक उबंटू वीएम स्थापित करने की कोशिश कर रहा हूं ताकि मैं स्थानीय रूप से हमारे उत्पादन सेटअप का परीक्षण कर सकूं। मुझे कठपुतली और कठपुतली एक दूसरे से बात करने में परेशानी हो रही है। मुझे अपने चरणों के माध्यम से ले चलो। (सर्वर hostname"F1DN" web1.xxx.xxx.net "का एक FQDN है)।

इसलिए सबसे पहले, मैं निर्देशिका से सभी पीएम फाइलों (सीए पाइम्स को छोड़कर) को हटा देता /etc/puppet/sslहूं ताकि मैं एक नई शुरुआत कर सकूं । puppetca --listकोई परिणाम नहीं देता है।

फिर, मैं puppetd --testकठपुतली के लिए एक सीएसआर उत्पन्न करने के लिए चलाता हूं। puppetca --listअब मेरा hostname ("web1.xxx.xxx.net") शामिल है।

फिर मैं दौड़ता हूं puppetca --sign web1.xxx.xxx.net। अब puppetca --listफिर से खाली है - सब कुछ अब तक ठीक काम कर रहा है।

अंत में मैं puppetd --testफिर से दौड़ता हूं । मुझे निम्न आउटपुट मिले:

err: Could not retrieve catalog from remote server: hostname was not match with the server certificate
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run

/etc/puppet/sslनिर्देशिका की सामग्री को सूचीबद्ध करना PEM फ़ाइलों को सही सर्वर नाम के साथ दिखाता है, जो मेरे से मेल खाता है hostname। किसी को भी इस समस्या पर हमला करने के लिए कोई विचार है?

जवाबों:


9

त्रुटि इसलिए है क्योंकि क्लाइंट डिफ़ॉल्ट रूप से सर्वर होस्टनाम 'कठपुतली' से जुड़ता है, लेकिन प्रस्तुत प्रमाण पत्र में 'कठपुतली' या तो अपने विषय के रूप में या एक विषय के रूप में नहीं है।

इसे ठीक करने के लिए, आप (एक को चुन सकते हैं):

  1. अपने कठपुतली के प्रमाण पत्र को चलाने के बजाय puppetd, इसे शुरू करके प्रारंभ puppetmasterdकरें - यह "कठपुतली" को शामिल करने के लिए प्रमाणित विषय नाम का कारण बनेगा।

  2. इसके बजाय आप का उपयोग करने के लिए चीजों को छोड़ने के बजाय puppetca --generate --certdnsnames puppet:puppet.mydomain.com web1.xx.xx.xx.net- certdnsnames विकल्प विकल्प की एक सूची निर्दिष्ट करता है जो प्रमाण पत्र में शामिल किया जाएगा; यह किसी भी नाम की एक बृहदान्त्र-अलग-अलग सूची होनी चाहिए जो एक क्लाइंट सर्वर से संपर्क करने के लिए उपयोग करेगा।

  3. puppetd --testक्लाइंट पर बस चलाने के बजाय , puppetd --test --server=web1.xx.xx.xx.netसर्वर को चलाएं, जिससे क्लाइंट नाम जुड़ता है, जो सर्वर द्वारा प्रस्तुत प्रमाणपत्र में वास्तव में मौजूद होता है।

आगे की समस्या निवारण के लिए मास्टरज़ेन की उत्कृष्ट ब्लॉग प्रविष्टि देखें: कठपुतली SSL समझाया


3

क्या आपने कठपुतली लॉग फ़ाइल की जाँच की? मुझे वही समस्या मिली, और पाया गया कि सर्वर प्रमाण पत्र जानकारी को लॉग करता है:

[2012-02-28 16:21:09] INFO  
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 2 (0x2)
        Signature Algorithm: sha1WithRSAEncryption
        Issuer: CN=ca
        Validity
            Not Before: Feb 26 16:32:46 2012 GMT
            Not After : Feb 24 16:32:46 2017 GMT
        Subject: CN=ubuntu.localdomain

फ़ील्ड विषय दिखाता है कि CN "ubuntu.localdomain" है, इसलिए मैंने ऐसा करके कठपुतली को मार दिया:

puppetd -t --server=ubuntu.localdomain --fqdn=myfqdn

उम्मीद है की यह मदद करेगा :-)


2

Pau ने जो उत्तर दिया, उसके अलावा, मैं केवल इस बात पर प्रकाश डालना चाहूंगा कि आप कठपुतली के प्रमाणपत्र का उपयोग करके निरीक्षण कर सकते हैं:

openssl x509 -text -in /var/lib/puppet/ssl/certs/<hostname_of_puppet_master>

फिर सुनिश्चित करें कि आप क्लाइंट से जब ठीक उसी होस्टनाम का उपयोग करें:

puppetd --server <hostname_of_puppet_master> <etc>

0

क्या दोनों सर्वर एक दूसरे को हल करने में सक्षम हैं? मेरा अनुमान है कि जब से आप VMing कर रहे हैं, आप नाम रिज़ॉल्यूशन को याद नहीं कर रहे हैं। यदि आप सर्वरों को एक-दूसरे को हल करने देने के लिए DNS का उपयोग नहीं करते हैं, तो आपको /etc/hostsदोनों सर्वरों पर अपनी फ़ाइल में प्रविष्टियाँ जोड़ने की आवश्यकता है।

कठपुतली को होस्टनामों को सही आईपीओं को हल करने की आवश्यकता होती है, इसके बिना आपको आपके द्वारा बताई गई त्रुटि मिल जाएगी। ऐसा करने के बाद आपको प्रमाणपत्रों को फिर से बनाने की आवश्यकता हो सकती है। दोनों मशीनों को hostname द्वारा प्रत्येक को पिंग करने में सक्षम होना चाहिए।

VMs से सावधान रहने वाली एक और बात यह है कि आप सर्वर पर समय को सिंक करते हैं। यदि आप ऐसा नहीं करते हैं, तो संभावना है कि प्रमाणपत्र अमान्य होंगे।


आह, मुझे निर्दिष्ट करना चाहिए। कठपुतली और कठपुतली दोनों एक ही सर्वर पर चल रहे हैं; मेरे वी.एम. और हाँ, मैं FQDN का उपयोग करके खुद से कंप्यूटर को पिंग कर सकता हूं।
RISCfuture

क्षमा करें यहोशू गलत है। कठपुतली प्रस्तुत प्रमाणपत्र के खिलाफ DNS-> आईपी सत्यापन नहीं करती है। यह है certname मान्यता है, जो क्या त्रुटि पैदा है करने के लिए होस्ट नाम है।
एरिक सोरेनसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.