
Ich habe einige Anfragen von Agenten mit falschen Hostnamen. Ich habe das korrigiert, aber die Anfragen mit den falschen Hostnamen sind immer noch offen.
Ich habe es versucht:
$puppet cert list
"wrong.host.name" (SHA256) 8E:...:51
$ puppet cert revoke wrong.host.name
Error: Could not find a serial number for wrong.host.name
$ puppet cert clean wrong.host.name
Error: Could not find a serial number for wrong.host.name
Wie wird man sie richtig los?
Antwort1
Verwenden vonca
funktioniert besser und kann im Gegensatz zu ein Zertifikat in einem einzigen Schritt entfernen cert
. Wichtig ist, dass Sie dadurch nicht vorübergehend ein ungültiges Zertifikat signieren müssen.
$ puppet ca destroy wrong.host.name
Notice: Removing file Puppet::SSL::CertificateRequest wrong.host.name at '/var/lib/puppet/ssl/ca/requests/wrong.host.name.pem'
Deleted for wrong.host.name: Puppet::SSL::CertificateRequest
Der puppet ca
Befehlwurde vor kurzem verworfenalso kann es irgendwann verschwinden, aber es gibt keinen entsprechenden Befehl. Es gibt einenInsekteingereicht, wofür Sie stimmen könnten, wenn Sie es ein bisschen albern finden, diesen Befehl ersatzlos zu entfernen.
Antwort2
Mögliche Lösung 1:
Die Verwendung puppet cert clean
beim Puppet-Master ist die richtige Vorgehensweise. Da Sie jedoch Fehlermeldungen erhalten, ist Ihr Zertifikatsbestand möglicherweise fehlerhaft.
Versuchen Sie eine erneute Bestandsaufnahme und anschließend eine Bereinigung:
$ puppet cert reinventory
$ puppet cert clean --all
Hinweis: In meinem Beispiel wird das --all
Flag verwendet. Dadurch werden alle Zertifikate gelöscht, signiert und unsigniert. Beachten Sie auch, dass der Puppet-Master vor dem Ausführen eines gestoppt werden sollte reinventory
.
Quelle:http://docs.puppetlabs.com/references/3.6.2/man/cert.html
Mögliche Lösung 2:
$ puppet cert sign wrong.host.name
Notice: Signed certificate request for wrong.host.name
Notice: Removing file Puppet::SSL::CertificateRequest wrong.host.name at '/var/lib/puppet/ssl/ca/requests/wrong.host.name.pem'
$ puppet cert clean wrong.host.name
Notice: Revoked certificate with serial 87
Notice: Removing file Puppet::SSL::Certificate wrong.host.name at '/var/lib/puppet/ssl/ca/signed/wrong.host.name.pem'
Notice: Removing file Puppet::SSL::Certificate wrong.host.name at '/var/lib/puppet/ssl/certs/wrong.host.name.pem'
Mögliche Lösung 3:
Erstens: Auf dem Server
$ puppet cert --revoke wrong.host.name
$ puppet cert --clean wrong.host.name
Zweitens: Auf dem Client
$ rm -rf /usr/lib/puppet/ssl
$ puppet agent --server [puppetmaster domain name] --waitforcert 60
Drittens: Auf dem Server (nach Bedarf anpassen)
$ puppet cert --list (you should see your host)
$ puppet cert --sign wrong.host.name
Überprüfen Sie außerdem noch einmal, ob Ihr Client Ihren [Puppetmaster-Domänennamen] erreichen kann.
Antwort3
So habe ich es gemacht
[root@puppetmc ca]# puppet cert clean sparrow.home
Error: Could not find a serial number for sparrow.home
[root@puppetmc ca]# cat inventory.txt
0x0002 2015-05-17T06:33:29GMT 2020-05-16T06:33:29GMT /CN=puppetmc.home
0x0003 2015-05-17T23:25:33GMT 2020-05-16T23:25:33GMT /CN=sparrow.rospop.com
0x0004 2015-05-18T00:53:18GMT 2020-05-17T00:53:18GMT /CN=puppetmc.home
0x0005 2015-05-18T02:18:12GMT 2020-05-17T02:18:12GMT /CN=sparrow.rospop.com
[root@puppetmc ca]# vi inventory.txt
hat die folgende Zeile zu inventory.txt hinzugefügt:
0x0001 2015-05-17T06:33:29GMT 2020-05-16T06:33:29GMT /CN=sparrow.home
dann renne
[root@puppetmc ca]# puppet cert clean sparrow.home
Notice: Revoked certificate with serial 1
Notice: Removing file Puppet::SSL::CertificateRequest sparrow.home at '/var/lib/puppet/ssl/ca/requests/sparrow.home.pem'
Vince Bhebhe