
У меня есть несколько запросов от агентов с плохими именами хостов. Я исправил это, но все еще есть невыполненные запросы с плохими именами хостов.
Я пытался:
$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
Как правильно от них избавиться?
решение1
С использованиемca
работает лучше и может удалить сертификат за один шаг в отличие от cert
. Важно, что это не заставляет вас временно подписывать недействительный сертификат.
$ 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
Командаpuppet ca
недавно был устарелтак что в какой-то момент это может уйти, но нет эквивалентной команды. Естьошибкаподан, за который вы можете проголосовать, если считаете, что удалять эту команду без замены немного глупо.
решение2
Возможное решение 1:
Использование puppet cert clean
на puppet master является правильным способом. Однако, поскольку вы получаете ошибки, у вас может быть плохой инвентарь сертификатов.
Попробуйте провести повторную инвентаризацию, а затем чистку:
$ puppet cert reinventory
$ puppet cert clean --all
Примечание: мой пример использует --all
флаг, это очистит все сертификаты, подписанные и неподписанные. Также имейте в виду, что Puppet master должен быть остановлен перед запуском reinventory
.
Источник:http://docs.puppetlabs.com/references/3.6.2/man/cert.html
Возможное решение 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'
Возможное решение 3:
Сначала: на сервере
$ puppet cert --revoke wrong.host.name
$ puppet cert --clean wrong.host.name
Второе: На клиенте
$ rm -rf /usr/lib/puppet/ssl
$ puppet agent --server [puppetmaster domain name] --waitforcert 60
Третье: На сервере (при необходимости отрегулируйте)
$ puppet cert --list (you should see your host)
$ puppet cert --sign wrong.host.name
Также дважды проверьте, может ли ваш клиент связаться с вашим [доменным именем puppetmaster].
решение3
Вот как я это сделал
[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
добавил строку ниже в inventory.txt:
0x0001 2015-05-17T06:33:29GMT 2020-05-16T06:33:29GMT /CN=sparrow.home
затем беги
[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