web-dev-qa-db-fra.com

Comment ajouter plusieurs noms DNS à mon chef de marionnettes?

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.

16
c33s

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>
25
larsks

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
2
phiphi

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

0
cyberkov