পুতুল এজেন্ট শংসাপত্র ব্যর্থতা যাচাই


10

আমি একটি পুতুল মাস্টার / এজেন্ট সেট আপ করেছি এবং সফলভাবে মাস্টারের এজেন্টের জন্য শংসাপত্রটি স্বাক্ষর করেছি। যাইহোক, আমি যখন চালনা 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ডিরেক্টরিতে সমস্ত কিছু মুছে ফেলেছি এবং পদত্যাগ করেছি, অন্য কী করব তা আমি জানি না।


আপনার মাস্টার মনে হয় আপনার ক্লায়েন্টের ট্রাস্ট থেকে আলাদা শংসাপত্র ব্যবহার করছেন? মাস্টারের সার্টিফিকেট বদলেছে কি?
শেন ম্যাডেন

@ শানেমেডেন আমার মনে হয় না ... আমি কি মাস্টার্স এবং ক্লায়েন্টের শংসাপত্রগুলি পরিষ্কার এবং বাতিল করব? আমি মাস্টার্স শংসাপত্রগুলির সাথে মোটেও গোলমাল করি নি, তবে এখানে "পুতুল সার্ট তালিকা - সমস্ত" এর ফলাফল কী দেখায়: + "মাস্টারহস্ট.ডোমেন ডটকম" (SHA1) E1: F7: 6A: 21: CB: সিডি: xx: xx: xx: xx ... + "এজেন্টহোস্ট.ডোমেন.কম" (SHA256) 5 এ: ডি 9: 7 বি: 96: 0 বি: এফএফ: E4: 87: 58: এফ: 00: এক্সএক্স: এক্সএক্স : xx ..
জন স্মিথ

এবং এটি আপনার প্রশ্নের 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এবং দেখুন এটি যাচাই করে কিনা।
শেন ম্যাডেন

@ শানেমেডেন মনে হচ্ছে কিছু ভুল আছে .... আমি যখন "-শোসার্টস" কমান্ডটি চালিয়েছিলাম তখন এটি আমাকে দুটি "শুরু" এবং "শেষ" শংসাপত্র দিয়েছিল, তাই আমি প্রথমে একটি নতুন ফাইলে যুক্ত করার চেষ্টা করেছি এবং পেয়েছি এটি: / var / lib / পুতুল / এসএসএল / সিএ / পরীক্ষা: /CN=masterhost.domain.com ত্রুটি 7 এ 0 গভীরতা অনুসন্ধান: শংসাপত্রের স্বাক্ষর ব্যর্থতা 22297: ত্রুটি: 0407006A: আরএসএ রুটিন: আরএসএ_প্যাডিং_চেক_এইচএসসি_1 টাইপ_1: ব্লকের ধরণটি 01 নয়: rsa_pk1.c: 100: 22297: ত্রুটি: 04067072: RSA রুটিন: RSA_EAY_PUBLIC_DECRYPT: প্যাডিং চেক ব্যর্থ হয়েছে: rsa_eay.c: 697: 22297: ত্রুটি: 0D0C5006: asn1 এনকোডিং রুটিন: ASN1_item_verify: ইভিপি liberal এর সংক্ষিপ্ত রূপ: a_verify.c: 173:
জন স্মিথ

এটা অদ্ভুত. মনে হচ্ছে এটি সংযোগে সার্ভার শংসাপত্রের পাশাপাশি মূল শংসাপত্রটি প্রেরণ করছে, তাই সম্ভবত দ্বিতীয় সার্টের -showcertsবিষয়বস্তুগুলির সাথে কেবল এর সামগ্রীগুলির সাথে তুলনা করুন /var/lib/puppet/ssl/certs/ca.pem- সেগুলি কি অভিন্ন হওয়া উচিত?
শেন ম্যাডেন

উত্তর:


13

সম্পূর্ণ ক্লায়েন্ট শংসাপত্র সেটআপ পুনরায় তৈরি করুন। এটি আমাদের অতীতে যে কোনও শংসাপত্রের সমস্যাটি সবসময় স্থির করেছে। নিম্নলিখিত নির্দেশনাটি আপনার এজেন্টের হোস্ট-এর নাম হ'ল এজেন্ট-হোস্টনেস্ট.কম umes

ক্লায়েন্টে, CA সহ সমস্ত সঞ্চিত শংসাপত্র মুছুন:

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

মাস্টারটিতে, এই ক্লায়েন্টের জন্য কোনও মুলতুবি থাকা সিএসআর বা পুরানো ক্লায়েন্ট শংসাপত্রগুলি মুছুন:

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

তারপরে, ক্লায়েন্টে, মাস্টারের সাথে পুনরায় সংযোগ করুন এবং একটি সিএসআর প্রেরণ করুন:

puppet agent -t --waitforcert=60

এবং যখন এটি অপেক্ষা করা হয় (আপনি যদি স্বতঃসাইনিং সক্ষম না করে থাকেন) তবে মাস্টারে সিএসআর অনুমোদন করুন যাতে একটি নতুন ক্লায়েন্ট শংসাপত্র ফেরত পাঠানো হয়:

puppet cert sign agenthost.domain.com

এটি এজেন্টের পুতুল সিএ শংসাপত্রগুলি পুনরায় ডাউনলোড করা উচিত এবং তার নিজস্ব শংসাপত্রের জন্য পুনরায় আবেদন করা উচিত।

অতীতে আমাদের যখন এই পুতুল সার্ভারগুলি পরিবর্তন করা হয়েছিল এবং সিএ শংসাপত্রগুলি পরিবর্তন হয়েছিল, বা যখন আমরা একই হোস্টনাম দিয়ে কোনও হোস্টকে পুনর্নির্মাণ করি তখন আমাদের এই পদ্ধতিটি ব্যবহার করতে হয়েছিল।

নিশ্চিত করুন যে আপনার এজেন্ট এর আসল সম্পূর্ণ-যোগ্যতাসম্পন্ন হোস্টনামটি জানে; 'হোস্টনেম' কমান্ডটি ব্যবহার করে এটি নিশ্চিত করুন যে আপনি এটি যা প্রত্যাশা করেছেন তা হ'ল।


3
মাস্টার উপর, puppet cert clean ‘agentName’আমার জন্য কাজ করে। RHEL পুতুল এন্টারপ্রাইজ SSL অবস্থান: /etc/puppetlabs/puppet/ssl। এবং আমি মাস্টার এবং এজেন্টের মধ্যে সময় সিঙ্ক করেছি।
ইভান চাউ

পুতুল এন্টারপ্রাইজ এবং আরও নতুন পুতুল 4, উপরে উল্লিখিত হিসাবে, তাদের শংসাপত্রগুলি / ইত্যাদি / পুতুলতা / পুতুল / এসএসএল এর অধীনে সংরক্ষণ করে। / Var / lib / পুতুল / এসএসএল অবস্থান পুতুল 2.x এবং 3.x সম্প্রদায় সংস্করণের জন্য।
স্টিভ শিপওয়ে

6

আমি একই সমস্যা আছে। আমি একটি পুতুলমাস্টার এবং বেশ কয়েকটি ক্লায়েন্টকে নিয়ে একটি অস্পষ্ট পরিবেশ স্থাপন করেছি। সমস্যাটি যখন আমি পুতুলক্ষেত্রকে ধ্বংস করি এবং তৈরি করি তখন ক্লায়েন্টরা নতুন পুতুলমাস্টারকে ভণ্ডামী হিসাবে সনাক্ত করে।

/etc/puppet/sslক্লায়েন্টকে মুছে ফেলা সমস্যা সমাধান করে।

মনে রাখবেন যে আপনার এসএসএল কনফিগারেশন ক্যাশে হবে, সুতরাং পুতুলের মাস্টারের পুনঃসূচনা প্রয়োজন, যদি আপনি সেই হোস্টটিতে নিজের মুছে ফেলার সিদ্ধান্ত নেন /etc/puppet/ssl:

sudo /etc/init.d/puppetmaster restart

service puppetserver restartএটি আমার জন্য স্থির করুন
স্পুডার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.