Wenn man „ausversehen“ mal auf dem Puppetmaster Server ein
puppet cert clean --all |
ausgeführt hat und dann versucht das ganze Schlamassel wieder auszubaden sind folgende Informationen gut zu wissen:
- Neue Zertifikate auf den Nodes erzeugt man, in dem man das Verzeichnis /var/lib/puppet/ssl einfach umbenennt und den Agent neu laufen lässt:
$ mv /var/lib/puppet/ssl /var/lib/puppet/ssl_old $ puppet agent --test --server puppet.example.org
- Wenn man auf dem Puppetmaster ebenfalls ein neues Zertifikat erzeugt und es dann Fehlermeldungen auf den Nodes gibt nach dem Motto „hostname was not match with the server certificate“ helfen folgende Schritte:
- Auf dem Puppetmaster Server den Certificate Hostname anzeigen:
$ puppet master --configprint certname
- Puppetmaster ausstellen und altes Zertifikat löschen:
$ service puppetmaster stop $ find $(puppet master --configprint ssldir) -name "$(puppet master --configprint certname).pem" -delete
- Den Zertifikatsnamen und die Alternativen DNS-Namen in der /etc/puppet/puppet.conf eintragen mit den folgenden Optionen:
[master] certname=puppet.example.org certdnsname=puppet.example.org dns_alt_names=puppetmaster.example.org
- Puppetmaster Server im Vordergrund starten und zusehen wie die neuen Zertifikate generiert werden, wenn die Meldung „notice: Starting Puppet master version…“ dort steht mit Strg+c beenden:
$ puppet master --no-daemonize --verbose Strg+c $ service puppetmaster start
- Auf dem Puppetmaster Server den Certificate Hostname anzeigen:
- Wenn es dann von PuppetDB eine Fehlermeldung gibt nach dem Motto „‚replace facts‘ to PuppetDB: certificate verify failed“ hilft folgendes:
$ service puppetdb stop $ mv /etc/puppetdb/ssl /etc/puppetdb/ssl_old $ /usr/sbin/puppetdb-ssl-setup -f $ service puppetdb start