Настройка puppetmaster: имя хоста не совпадает с сертификатом сервера

Я новичок в настройке Puppet и Puppetmaster... У нас уже есть марионетки, и новый новый Puppetmaster...


3-е редактирование

После удаления файлов ssl как на главном компьютере (ghive-ldap), так и на клиенте (giab10)

Имя хоста для мастера ghive-ldap и в имени хоста клиента у меня есть это.

По мастеру:

puppet cert clean ghive-ldap
puppet cert generate --dns_alt_names ghive-ldap ghive-ldap


sudo puppetca --sign giab10
err: Could not call sign: Could not find certificate request for giab10

Итак, на клиенте:

sudo puppet cert --generate giab10
notice: giab10 has a waiting certificate request
notice: Signed certificate request for giab10
notice: Removing file Puppet::SSL::CertificateRequest giab10 at '/var/lib/puppet/ssl/ca/requests/giab10.pem'
notice: Removing file Puppet::SSL::CertificateRequest giab10 at '/var/lib/puppet/ssl/certificate_requests/giab10.pem'
giabadmin@giab10:~$ sudo puppet cert --list --all
+ giab10 (0F:CB:............)

Я запустил это на клиенте

sudo puppetd --test --debug
.....
err: Could not retrieve catalog from remote server: getaddrinfo: Name or service not know

Хорошо... позвольте мне попробовать это на клиенте

sudo puppet agent --server ghive-ldap --waitforcert 60 --test --verbose
err: Could not retrieve catalog from remote server: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run

Garrrrr..... Я удалил файлы ssl и до сих пор не повезло!! Должно быть, что-то пошло не так...

Как начать с самого начала? Я не очень помог от документации... Извините за то, что я нуб.. Спасибо

PS: Кроме того, как вы обеспечиваете синхронизацию между двумя серверами?

1 ответ

Решение

Для каких имен хостов puppetmaster сгенерировал свой сертификат? Клиент puppet ожидает, что сертификат будет действителен для "puppetmaster", но, похоже, он не выдан для этого имени хоста. Я думаю, что "puppet" может быть CN по умолчанию на puppetmaster или же именем хоста сервера. Вы можете проверить это, запустив "openssl x509 -text -in cert.pem" в сертификате сервера или подключившись к https://yourpuppetmaster:8140/ с браузером, и посмотрите, какие домены находятся в CN и dns_alt_names сертификата.


РЕДАКТИРОВАТЬ

У вас есть сертификат только для "master", но ваш клиент подключается к "puppetmaster". Так что либо клиент должен ожидать "master", либо вам нужен сертификат для "puppetmaster" на вашем master. "Certname=puppetmaster" в блоке [master] в puppet.conf изменит CN на сервере ( http://docs.puppetlabs.com/references/stable/configuration.html). Возможно, вам придется удалить старые сертификаты, но я не уверен в этом. Или вы можете подключить клиента к "master", добавив его в /etc/hosts или в свою зону DNS, если вы ее используете.

Другие вопросы по тегам