How to fix “SSL_connect … certificate verify failed” on puppet client
เมื่อทำการติดตั้ง puppet client เสร็จเรียบร้อยแล้ว และใช้คำสั่ง
# puppet agent --test
เพื่อทำการ connect ไปยัง puppet master แล้วพบ error ดังนี้
err: Could not retrieve catalog from remote server:
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B:
certificate verify failed
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run
จาก error นี้เป็นปัญหาที่เกิดจาก
- เวลาระหว่าง client และ puppet master server ต่างกันมาก ทางแก้ไขคือ รันคำสั่ง ntpdate เพื่อทำการ update time บน client ดังตัวอย่าง
# ntpdate NTPSERVER.COM
- certificate บน client ไม่ match กับ puppet master ดังนั้นต้องทำการ regenerate certificate ใหม่ ด้วยขั้นตอนดังนี้
- remove client certificate ด้วยคำสั่ง
# find /var/lib/puppet -type f -print0 |xargs -0r rm
- Remove SSL certificate บน puppet master ด้วยคำสั่ง
# puppet cert --clean {node_certname}
- remove client certificate ด้วยคำสั่ง