Назад | Перейти на главную страницу

Ошибка проверки сертификата агента марионетки

У меня настроен Puppet Master / Agent, и я успешно подписал сертификат для агента на главном сервере. Однако когда я бегу 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 каталог и подал в отставку, не знаю, что еще делать.

Повторно создайте всю настройку сертификата клиента. Это всегда решало любые проблемы с сертификатами, с которыми мы сталкивались в прошлом. В следующей инструкции предполагается, что имя хоста вашего агента - agenthost.hostname.com.

На клиенте удалите все сохраненные сертификаты, включая CA:

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

На главном сервере удалите все ожидающие CSR или старые клиентские сертификаты для этого клиента:

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

Затем на клиенте повторно подключитесь к мастеру и отправьте CSR:

puppet agent -t --waitforcert=60

и когда он ожидает (если вы не включили автоподпись), тогда на главном сервере утвердите CSR, чтобы новый сертификат клиента был отправлен обратно:

puppet cert sign agenthost.domain.com

Это должно заставить агент повторно загрузить сертификаты марионеточного ЦС и повторно подать заявку на получение собственного сертификата.

Нам приходилось использовать эту процедуру в прошлом, когда мы меняли марионеточные серверы и сертификаты CA, или когда мы перестраивали хост с тем же именем хоста.

Убедитесь, что ваш агент знает свое настоящее полное имя хоста; используйте команду hostname, чтобы убедиться, что это именно то, что вы ожидаете.

У меня аналогичная проблема. Я создал бродячую среду с одним кукловодом и несколькими клиентами. Проблема в том, что когда я уничтожаю и создаю марионеточного мастера, клиенты обнаруживают нового марионеточного мастера как самозванца.

Удаление /etc/puppet/ssl на клиенте решает проблему.

Помните, что ваша конфигурация ssl будет кэширована, поэтому перезапустите кукловод требуется, если вы решите также удалить свой /etc/puppet/ssl на этом хосте:

sudo /etc/init.d/puppetmaster restart