У мене налаштований Майстер ляльок / агент і успішно підписав сертифікат агента на майстра. Однак, коли я бігаю, у 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
- вони повинні бути однаковими?