सवाल कठपुतली certs पर हस्ताक्षर नहीं करता है


मैंने कठपुतली के लिए एक testlab बनाया है, लेकिन यह काम नहीं करता है। मैं शुरू करता हूँ puppet agent नोड पर और यह प्रमाणपत्र के लिए इंतजार कर रहा है।

root:~# puppet agent --server xxxx --waitforcert 60 --test
warning: peer certificate won't be verified in this SSL session
warning: peer certificate won't be verified in this SSL session
warning: peer certificate won't be verified in this SSL session

सर्वर पर, अब लंबित प्रमाणपत्र अनुरोध पाए गए हैं:

root:~# puppet cert --list                                                                                                        
root:~#

मास्टरhttpd लॉग में:

root:~# tail /var/log/puppet/masterhttp.log
[2012-01-06 09:19:17] xxx - - [06/Jan/2012:09:19:17 CET] "GET /production/certificate/xx HTTP/1.1" 404 30
[2012-01-06 09:19:17] - -> /production/certificate/pgw
[2012-01-06 09:19:47] xxx - - [06/Jan/2012:09:19:47 CET] "GET /production/certificate/xx HTTP/1.1" 404 30
[2012-01-06 09:19:47] - -> /production/certificate/pgw
[2012-01-06 09:19:47] xxx - - [06/Jan/2012:09:19:47 CET] "GET /production/certificate/xx HTTP/1.1" 404 30
[2012-01-06 09:19:47] - -> /production/certificate/pgw
[2012-01-06 09:19:47] xxx - - [06/Jan/2012:09:19:47 CET] "GET /production/certificate/xx HTTP/1.1" 404 30
[2012-01-06 09:19:47] - -> /production/certificate/pgw

प्रमाणपत्र फ़ाइल नहीं मिली है।


5
2018-01-06 08:29


मूल


एक बार जब आप पहली बार पहली बार कठपुतली चलाते हैं waitforcert सक्षम है फिर इसे बिना फिर से चलाने का प्रयास करें waitforcert। संभावना है कि आपका प्रमाणपत्र पहले से ही हस्ताक्षरित है और यही कारण है कि puppet cert --list खाली है। - Aditya Patawari
root:~# puppetca revoke --list 12-01-06 10:25 err: Could not call list: Could not find a certificate for revoke  एक हस्ताक्षरित प्रमाण की तरह दिखता है :( - Dennis Wisnia


जवाब:


मैं आपको कठपुतली एजेंट के रूप में शुरू करने की सलाह देते हैं

$ puppet agent --server=xxxx --test --debug

यह आदेश आपको अधिक जानकारी देगा कि यह क्यों विफल रहा है। इसके अलावा, आपको इसे पूरा करने के लिए अधिक समय की अनुमति देने की आवश्यकता हो सकती है।

यदि आप किसी भी (मास्टर और एजेंट पर क्रमशः) से प्रमाणपत्र से निकालने का प्रयास कर सकते हैं

puppet --cert --clean your_machine_name

rm -rf /etc/puppet/ssl

1
2018-01-06 09:04



"डीबग" मुझे कोई भी नई खबर नहीं देता है। वह प्रमाण पत्र की प्रतीक्षा करता है और समय-समय पर चलता है। मुझे लगता है कि यह सर्वर-पक्ष पर एक समस्या है। - Dennis Wisnia


जब मैंने पहली बार कठपुतली से शुरुआत की तो मैं बहुत ही समान समस्याओं में भाग गया। - सर्वर विकल्प का सम्मान नहीं किया जा रहा था।

'Puppet' के नाम से और अपने मास्टर बॉक्स के आईपी के साथ अपनी HOSTS फ़ाइल में एक प्रविष्टि जोड़ने का प्रयास करें।

यदि यह काम करता है तो निम्न वाक्यविन्यास अच्छी तरह से काम करता है (कम से कम संस्करण 2.7.5 के लिए)

[main]
logdir = /var/log/puppet
rundir = /var/run/puppet
ssldir = $vardir/ssl
server = puppetmaster.yourdomain.org
pluginsync = true

[agent]
classfile = $vardir/classes.txt
localconfig = $vardir/localconfig
server = puppetmaster.yourdomain.org
listen = true

1
2018-01-06 15:10





ऐसा लगता है कि आपने सत्यापित किया है कि एजेंट मास्टर को प्राप्त कर रहा है। अच्छा पहला कदम।

इसके बाद, जैसा कि अन्य ने सुझाव दिया है, सत्यापित करें कि प्रमाणपत्र पर हस्ताक्षर नहीं किया गया था और आपने अभी इसे याद नहीं किया है:

sudo puppet cert --list --all

यदि आप इसे वहां नहीं देखते हैं, तो मैं सब कुछ साफ कर दूंगा।

सबसे पहले, पुष्टि करें कि दोनों सर्वरों पर दिनांक और समय सिंक हो रहा है। आप किसी एनटीपी सिंक को कुछ ऐसा करने के लिए मजबूर कर सकते हैं ntpd -q -g, आपके डिस्ट्रो और एनटीपी क्लाइंट के आधार पर।

फिर, एक चलाओ clean कठपुतली मास्टर पर:

sudo puppet cert clean <agent hostname>

एजेंट पर, अपनी सभी एसएसएल फाइलों को साफ करें:

sudo rm -rf /var/puppet/ssl /var/lib/puppet/ssl/ /var/puppet/ssl 

अंत में, एक परीक्षण चलाएं:

sudo puppet agent --debug --test --server <master hostname>

उम्मीद है कि अगर यह इस मुद्दे को संबोधित नहीं करता है, तो इससे आपको कुछ सुराग मिलेंगे जहां देखना है।


1
2018-01-09 04:27