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

Имя хоста марионеточного сервера не соответствует сертификату - невозможно пройти аутентификацию. Как отключить марионеточную аутентификацию?

У меня проблемы с получением марионеточного агента для аутентификации мастера.

Что касается агента, я сначала сделал sudo puppet agent --test

info: Creating a new SSL key for m-agent-2
info: Caching certificate for ca
info: Creating a new SSL certificate request for m-agent-2
info: Certificate Request fingerprint (md5): 43:30:57:53:5B:20:F7:12:CD:94:59:17:12:28:68:A4

Затем на мастере я сделал sudo puppet cert list и получил

"m-agent-2" (43:30:57:53:5B:20:F7:12:CD:94:59:17:12:28:68:A4)

Тогда я сделал sudo puppet cert sign m-agent-2, который вернулся

notice: Signed certificate request for m-agent-2
notice: Removing file Puppet::SSL::CertificateRequest m-agent-2 at                 
'/var/lib/puppet/ssl/ca/requests/m-agent-2.pem'

Тогда я сделал sudo puppet agent --test, который вернулся

info: Caching certificate for m-agent-2
err: Could not retrieve catalog from remote server: Server hostname 'puppet' did not match server certificate; expected master-node-1
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run
err: Could not send report: Server hostname 'puppet' did not match server certificate; expected master-node-1

Файл conf содержит строку как в certname = master-node-1 в обоих [main] и [master] разделы. Я восстановил диплом мастера, выполнив

sudo find $(puppet master --configprint ssldir) -name "$(puppet master --configprint certname).pem" -delete   
sudo puppet master --no-daemonize --verbose

Кроме того, мой файл / etc / hosts содержит строки 10.20.32.10 learn.localdomain learn puppet.localdomain puppet и я могу пинговать и марионетку, и марионетку. узнать у агента.

Однако у меня все еще такая же проблема. Есть ли способ исправить это. Или вообще отключите аутентификацию в марионетке. И главный, и подчиненный узлы работают под управлением Ubuntu 12.04, а я использую марионетку 2.7.11. Любая помощь приветствуется.

Ваш клиент ожидает, что у мастера будет имя хоста puppet, по его server конфигурация в puppet.conf - это значение по умолчанию, поэтому, если у вас нет server настроен, затем он использует puppet. SSL-сертификат мастера должен быть действителен для этого имени, иначе клиент откажется подключаться.

Обычно мастер генерирует сертификат, действительный для его собственного имени хоста и puppet имя хоста с использованием альтернативных имен субъектов .. но с явным certname в магистратуре puppet.conf может переопределить это. Проверить, проверив puppet cert --list master-node-1 - должно быть что-то вроде (alt names: "puppet") отображается после отпечатка сертификата.

Исправьте это, указав клиенту на настоящее имя хоста, используя его server config или имея сертификат сервера, действительный для имени хоста puppet.