мой puppet.conf на мастере
[master]
certname = myname.mydomain.com
ca_server = myname.mydomain.com
certdnsnames = puppet;puppet.local;myname.dyndns.org;hivemind.local;
для моего понимания с определенными именами certdnsname должно работать следующее:
puppet agent --server myname.dyndns.org --test
но я получаю следующую ошибку:
err: Could not retrieve catalog from remote server: hostname was not match with the server certificate
как избежать этой ошибки? как правильно определить certdnsnames? Я нашел различные документы об этом, но не простой пример. я использую "," для разделения я не могу подписать вообще. я также видел такой синтаксис
certdnsnames = puppet:puppet.intra.myserver.fr,puppet.myserver.fr:puppet,puppet:puppet,puppet.intra.myserver.fr,puppet.myserver.fr
http://projects.puppetlabs.com/issues/5776
но для меня не ясно, когда добавить «марионетку», а когда нет.
Для Puppet 4+ используйте следующие команды, чтобы изменить принятые имена DNS для сертификата сервера puppet:
Переименуйте существующие сертификаты в * .backup:
создать новый сертификат (добавьте желаемые альтернативные имена):
перезапустите puppetserver, чтобы использовать новые сертификаты
источник
certdnsnames
это разделенный двоеточиями список.источник
В соответствии с
Вы должны использовать разделенный двоеточиями (":" not ";") список.
Так и должно быть
НТН
источник
Чтобы добавить запись SAN в сертификат сервера марионеток, используйте:
может потребоваться очистить существующие сертификаты через
rm -rf $(puppet master --configprint ssldir)
аисточник