На этот вопрос уже есть ответ здесь:
Я хавин g проблемы с получением марионеточного агента для аутентификации мастера.
На агенте я сначала выполнил
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
и получил
"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
. оба 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
, и я могу пинговать как puppet, так и puppet.learn из агент.
Однако у меня все еще возникает та же проблема. Есть ли способ исправить это. Или отключите аутентификацию в марионетке все вместе. И главный, и подчиненный узлы работают под управлением Ubuntu 12.04, а я использую марионетку 2.7.11. Любая помощь приветствуется.
Ваш клиент ожидает, что главный компьютер будет иметь имя хоста марионетку
, согласно конфигурации сервера
в puppet.conf
- это значение по умолчанию, поэтому, если у вас нет настроенного сервера
, то он использует марионетку
. SSL-сертификат мастера должен быть действителен для этого имени, иначе клиент откажется подключаться.
Обычно мастер генерирует сертификат, действительный для его собственного имени хоста и имени хоста марионетки
, используя альтернативу субъекту имена .. но наличие явного certname
в puppet.conf
мастера может перекрыть это. Проверьте, проверив puppet cert --list master-node-1
- после отпечатка сертификата должно отображаться что-то вроде (альтернативные имена: "puppet")
.