марионеточное имя хоста сервера не соответствует сертификату - не может пройти проверку подлинности.

Я знаю, что этот вопрос задали прежде во многих другой вариант. Я читал все сообщение, связанное с проблемой, но я не могу получить агент и ведущее устройство, говорящее друг с другом. Я загружаю 2 vm через vmwork станцию оба работающих linuxmint 17.

Я запущу этот поток путем сообщения того, что является моим/etc/hosts и/etc/hostname в клиенте, и puppetmaster похож.

В vm моего клиента мое имя хоста в/etc/hostname похоже на следующее:

puppetclient

хосты vm моего клиента в/etc/hosts похожи на следующее:

127.0.0.1 localhost
127.0.1.1 puppetclient
192.168.75.143 puppetmaster

В vm моего ведущего устройства/etc/hostname похож на следующее:

puppetmaster

vm моего ведущего устройства/etc/hosts похож на следующее:

127.0.0.1 localhost
127.0.1.1 puppetmaster
192.168.75.144 puppetclient

Мой/etc/puppet/puppet.conf в моем ведущем устройстве похож на следующее:

[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=$vardir/lib/facter
templatedir=$confdir/templates
prerun_command=/etc/puppet/etckeeper-commit-pre
postrun_command=/etc/puppet/etckeeper-commit-post

[master]
# These are needed when the puppetmaster is run by passenger
# and can safely be removed if webrick is used.
ssl_client_header = SSL_CLIENT_S_DN
ssl_client_verify_header = SSL_CLIENT_VERIFY

мой/etc/puppet/puppet.conf в моем клиенте похож на следующее:

[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=$vardir/lib/facter
templatedir=$confdir/templates
prerun_command=/etc/puppet/etckeeper-commit-pre
postrun_command=/etc/puppet/etckeeper-commit-post

[master]
# These are needed when the puppetmaster is run by passenger
# and can safely be removed if webrick is used.
ssl_client_header = SSL_CLIENT_S_DN
ssl_client_verify_header = SSL_CLIENT_VERIFY

[agent]
server=puppetmaster

У меня есть многие вариант puppet.conf во время моего поиска, и я не испытываю желание отправлять здесь. Один из варианта должен иметь server=puppetmasterв [основном] и в моем клиенте и в vm ведущего устройства. Так или иначе для всех puppet.conf вариантов я попробовал, моя первая ошибка, когда я работаю sudo puppet agent --test всегда warning: unable to fetch my node definitoin, but agent run will continue:ошибка после этого отличается для каждого варианта puppet.conf, который я реализую. Кто-либо может сказать мне правильную конфигурацию для моей установки?

Спасибо

1
задан 24 October 2014 в 02:46
1 ответ

Похоже, вы сначала установили и запустили своего хозяина марионеток, а затем изменили имя хоста.

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

Вы можете проверить общее имя в сертификате мастера, если оно совпадает с вашим именем хоста:

openssl x509 -noout -subject -in $(puppet config print ssldir)/certs/$(puppet config print certname).pem

Также я рекомендую использовать полное доменное имя в конфигурации марионетки. Если имя хоста отличается, самый простой способ - просто удалить или переименовать SSL dir:

mv $(puppet config print ssldir){,_}

и перезапустить мастер марионеток. Вам также нужно будет сделать это на клиентском узле, потому что CA изменится.

2
ответ дан 3 December 2019 в 21:11

Теги

Похожие вопросы