ma marionnette.conf sur le maître
[master]
certname = myname.mydomain.com
ca_server = myname.mydomain.com
certdnsnames = puppet;puppet.local;myname.dyndns.org;hivemind.local;
pour ma compréhension avec les CertnsNames définies, les éléments suivants doivent fonctionner:
puppet agent --server myname.dyndns.org --test
mais j'obtiens l'erreur suivante:
err: Could not retrieve catalog from remote server: hostname was not match with the server certificate
comment éviter cette erreur? Comment définir correctement les CERDNSNAMES? J'ai trouvé une documentation différente à ce sujet, mais aucun exemple simple. J'utilise "", "pour la séparation, je ne peux pas signer du tout. J'ai aussi vu une syntaxe comme
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
mais pour moi, ce n'est pas clair quand ajouter une "marionnette:" et quand non.
Au profit de quelqu'un d'autre qui trébuche sur cette réponse:
En raison de CVE-2011-3872 , la marionnette ne prend plus en charge l'option certdnsnames
. De la documentation:
Le paramètre CertDnSnames n'est plus fonctionnel, après CVE-2011-3872. Nous ignorons la valeur complètement. Pour votre propre demande de certificat, vous pouvez définir dns_alt_names dans la configuration et s'appliquera localement. Il n'y a pas d'option de configuration pour définir les noms Alt DNS, ou une autre valeur de sujetTaltName, pour un autre certificat de nœuds. Alternativement, vous pouvez utiliser l'option de ligne de commande --Dns_alt_names pour définir les étiquettes ajoutées tout en générant votre propre RSE.
Vous pouvez générer un certificat SSL pour votre serveur à l'aide de SubjectAlternatinname comme ceci:
$ puppet cert generate <puppet master's certname> --dns_alt_names=<comma-separated list of DNS names>
Pour Puppet 4+ Utilisez les commandes suivantes pour modifier les noms DNS acceptés pour le certificat Puppetserver:
Renommez les certificats existants à * .Backup:
mv /etc/puppetlabs/puppet/ssl/private_keys/$(hostname -f).pem{,.backup}
mv /etc/puppetlabs/puppet/ssl/ca/signed/$(hostname -f).pem{,.backup}
mv /etc/puppetlabs/puppet/ssl/certs/$(hostname -f).pem{,.backup}
générer un nouveau certificat (ajoutez vos noms Alt désirés):
puppet cert generate $(hostname -f) --dns_alt_names=$(hostname -f),puppet
redémarrer Puppetserver pour utiliser de nouveaux certificats
service puppetserver restart
Selon
puppet agent --genconfig
vous devez utiliser une liste de points (":" non ";"; ").
Donc ça devrait être
certdnsnames = 'puppet:puppet.local:myname.dyndns.org:hivemind.local'
Ht