
Tengo algunas solicitudes de agentes que tenían nombres de host incorrectos. He corregido esto, pero todavía tengo solicitudes pendientes con nombres de host incorrectos.
Lo intenté:
$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
¿Cuál es la forma correcta de deshacerse de ellos?
Respuesta1
Usandoca
funciona mejor y puede eliminar un certificado en un solo paso, a diferencia de cert
. Es importante destacar que no le obliga a firmar temporalmente un certificado no válido.
$ 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
El puppet ca
comandoha quedado obsoleto recientementeentonces en algún momento puede desaparecer, pero no hay un comando equivalente. Hay unbichoarchivado, por el cual podrías votar si crees que es un poco tonto eliminar este comando sin reemplazarlo.
Respuesta2
Posible solución 1:
Usar el puppet cert clean
titiritero es la forma correcta. Sin embargo, dado que recibe errores, es posible que tenga un inventario incorrecto de certificados.
Intente hacer un nuevo inventario y luego una limpieza:
$ puppet cert reinventory
$ puppet cert clean --all
Nota: mi ejemplo usa la --all
bandera, esto borrará todos los certificados, firmados y sin firmar. Además, tenga en cuenta que Puppet Master debe detenerse antes de ejecutar un archivo reinventory
.
Fuente:http://docs.puppetlabs.com/references/3.6.2/man/cert.html
Posible solución 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'
Posible solución 3:
Primero: en el servidor
$ puppet cert --revoke wrong.host.name
$ puppet cert --clean wrong.host.name
Segundo: en el cliente
$ rm -rf /usr/lib/puppet/ssl
$ puppet agent --server [puppetmaster domain name] --waitforcert 60
Tercero: En el servidor (ajustar según sea necesario)
$ puppet cert --list (you should see your host)
$ puppet cert --sign wrong.host.name
Además, verifique que su cliente pueda comunicarse con su [nombre de dominio de Puppetmaster].
Respuesta3
Así es como lo hice
[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
Agregué la siguiente línea a inventario.txt:
0x0001 2015-05-17T06:33:29GMT 2020-05-16T06:33:29GMT /CN=sparrow.home
entonces corre
[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