ฉันมี Puppet Master / Agent ตั้งค่าและลงนามใบรับรองสำหรับตัวแทนบน master เรียบร้อยแล้ว อย่างไรก็ตามเมื่อฉันเรียกใช้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
- ควรเป็นเหมือนกันหรือไม่