Я искал в Интернете, и я вижу, что несколько других людей имели эту проблему в других списках / форумах. Когда я запускаю sudo puppetd --waitforcert 60 - во второй раз после подписания сертификата на главном сервере, я получаю эту ошибку:
notice: Got signed certificate
warning: Certificate validation failed; considering using the certname configuration option
err: /File[/var/lib/puppet/lib]: Failed to generate additional resources during transaction: Certificates were not trusted: hostname was not match with the server certificate
Я не уверен, что понимаю, в чем проблема или как ее исправить. Вот почему я спрашиваю.
Я устанавливаю кукольный на двух серверах в моей локальной сети. Puppetmaster называется «puppet», а другой сервер называется «puppetclient». Я помещаю puppet в / etc / hosts для puppetclient.
Запуск hostname -f отобразит puppet и pupperclient на соответствующих серверах. Я не уверен, что еще попробовать. У кого-нибудь есть понимание?
источник
rm -rf /var/lib/puppet/ssl
а затем перезапустилЕсли вы хотите использовать DNS CNAME для своего мастера puppetmaster, вы можете запустить его как:
который заставит puppetmaster использовать
cname.domain.org
вместо полностью определенного доменного имени по умолчанию.источник
Опция
--certname cname.domain.org
flag, похоже, сделала свое дело для меня (на Amazon EC2)источник
Вы можете спросить facter (facter fqdn), каково имя хоста, и посмотреть, соответствует ли это тому, что вы ожидаете. Также посмотрите (по умолчанию) / var / lib / puppet / ssl / и посмотрите, как выглядят сертификаты, если у них нет правильных имен хостов, которые могут быть вашей проблемой. Так как puppet выполняет все свои коммуникации через HTTPS, он довольно чувствителен к разрешению и именам хостов.
источник
Перед установкой Puppet на указанных клиентах и серверах проверьте файл /etc/resolv.conf и убедитесь, что первая запись домена в строке «поиск» - это домен, под которым вы хотите запустить Puppet. Например:
поиск my.puppetdomain.com my.public.domain.com
nameserver 192.168.1.1 nameserver xxx.xxx.1.1
На этапе установки Puppet сервер Puppet создает свои сертификаты на основе первой поисковой записи в /etc/resolv.conf. Я нашел это трудным путем. Если вы видите ошибки, связанные с сертификатом, на любом из узлов марионеток, выполните следующие действия:
1) Отредактируйте /etc/resolv.conf и убедитесь, что первый домен, указанный в строке «поиск», отражает домен, в котором вы хотите запустить Puppet.
2) Удалите puppet (оставьте каталог / etc / puppet без изменений).
3) rm -rf / var / lib / puppet
4) Переустановите Puppet (это создаст новый каталог / var / lib / puppet).
5) При выполнении этого на сервере Puppet запустите / usr / sbin / puppetmasterd --mkusers (или запустите / usr / local / sbin / puppetmasterd --mkusers ). Это создаст все необходимые файлы в / var / lib / puppet, включая новые внутренние сертификаты, используя правильное доменное имя.
6) При выполнении этого на клиенте Puppet запустите Puppet в подробном режиме с включенным флагом --waitforcert : puppetd -server .puppetdomain.com --waitforcert 60 --test Этот шаг отправит запрос сертификата на сервер Puppet.
7) На сервере Puppet перечислите ожидающие сертификаты:
список кукол
Вы должны увидеть имя хоста клиента Puppet, который делает запрос:
puppetclient1.puppetdomain.com
8) На сервере Puppet подпишите сертификат указанного выше клиента Puppet:
puppetca - знак puppetclient1.puppetdomain.com
Тогда вы сделали.
НТН ....
источник
Разве Puppet и Puppetclient разрешаются в DNS? Если нет, вы можете отредактировать файл / etc / hosts, чтобы отобразить IP-адреса и имена хостов. IIRC, вам нужно сделать это только на клиенте.
источник