Как отклонить запрос сертификата на Puppet Master?

13

У меня есть несколько запросов от агентов с неправильными именами хостов. Я исправил это, но все еще есть невыполненные запросы с неправильными именами хостов.

Я старался:

$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

Как правильно избавиться от них?

Луис
источник

Ответы:

23

Использование 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команда недавно устарела, поэтому в какой-то момент она может исчезнуть, но эквивалентной команды нет. Есть ошибка , за которую вы могли бы проголосовать, если считаете, что удалять эту команду без какой-либо замены немного глупо.

Ник
источник
Это правильный ответ. Все инструкции, приведенные в принятом ответе, либо не работают, либо требуют подписи сертификатов, которые, как вы знаете, являются плохими.
Тедивм
Что сказал @tedivm. Следовательно: +1.
gf_
Это работает, но оно было помечено как устаревшее. Кто-нибудь знает, что такое новый метод?
Швейцария,
@ Свисс, у тебя есть ссылка на некоторые документы, показывающие, что она устарела?
Ник
1
puppet cert cleanТеперь работает, чтобы удалить запросы. Смотрите связанный отчет об ошибке.
7yl4r
3

Возможное решение 1:

Использование puppet cert cleanна кукольном хозяине является правильным способом. Однако, так как вы получаете ошибки, у вас может быть плохая инвентаризация сертификатов.

Попробуйте сделать переоценку, а затем очистить:

$ puppet cert reinventory
$ puppet cert clean --all

Примечание: мой пример использует --allфлаг, это очистит все сертификаты, подписанные и неподписанные. Также помните, что мастер Puppet должен быть остановлен перед запуском 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].

Источник: /server/574976/puppet-tring-to-configure-puppet-client-for-first-use-but-got-some-problems-wi

tbenz9
источник
Спасибо, я попробовал, reinventoryа потом, clean wrong.host.nameпотому что я не хочу отзывать хорошие сертификаты тоже, но я все еще получаю ошибку серийного номера.
Луи
Хороший улов на --all. Я только что добавил обновление, которое стоит попробовать.
tbenz9
Великий, после выполнения с puppet cert sign wrong.host.nameиспользованием cleanработ. Кажется неправильным, что я должен сначала подписать это все же.
Луи
1
Также не забудьте перезапустить сервис Puppet Master после очистки любых сертификатов.
Роберт Фей
1
К вашему сведению, другой ответ намного лучше, чем этот. Если вы будете следовать советам OP, вы будете запускать команды, которые не работают (например, команда clean), или вы будете подписывать сертификаты, которые, как вы знаете, являются плохими. Если вы следуете приведенным ниже советам и просто используете их, puppet ca destroy wrong.host.nameвам не нужно вводить угрозы безопасности для своей инфраструктуры.
Тедивм
2

Вот как я это сделал

[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 

добавили строку ниже в инвентарь.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
lowlysquib
источник