У меня настроен 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
каталоге агента и подал в отставку, я не знаю, что еще делать.
debian
ssl
puppet
puppetmaster
puppet-agent
Джон Смит
источник
источник
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
- они должны быть идентичны?Ответы:
Повторно создайте полную настройку сертификата клиента. Это всегда исправляло любые проблемы с сертификатом, с которыми мы сталкивались в прошлом. В следующей инструкции предполагается, что имя хоста вашего агента - agenthost.hostname.com
На клиенте удалите все сохраненные сертификаты, включая CA:
На главном компьютере удалите все ожидающие CSR или старые клиентские сертификаты для этого клиента:
Затем на клиенте переподключитесь к мастеру и отправьте CSR:
и когда он ожидает (если вы не включили автоподпись), то на мастере утверждают CSR, чтобы отослать новый сертификат клиента:
Это должно заставить агента повторно загрузить марионеточные сертификаты CA и повторно подать заявку на собственный сертификат.
Мы должны были использовать эту процедуру в прошлом, когда мы меняли марионеточные серверы и менялись сертификаты CA, или когда мы перестраивали хост с тем же именем хоста.
Убедитесь, что ваш агент знает свое полное имя хоста; используйте команду 'hostname', чтобы убедиться, что это именно то, что вы ожидаете.
источник
puppet cert clean ‘agentName’
у меня работает. RHEL Puppet Enterprise Ssl местоположение:/etc/puppetlabs/puppet/ssl
. И я синхронизировал время между Мастером и Агентом.У меня похожая проблема. Я создал бродячую среду с одним марионеткой и несколькими клиентами. Проблема в том, что когда я уничтожаю и создаю хозяина кукол, клиенты обнаруживают нового хозяина кукол как самозванца.
Удаление
/etc/puppet/ssl
на клиенте решает проблему.Помните, что ваша конфигурация ssl будет кэширована, поэтому требуется перезапуск мастера Puppet, если вы решите также удалить свой
/etc/puppet/ssl
на этом хосте:источник
service puppetserver restart
исправил это для меня