Як відхилити запит на сертифікат у 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

Що сказав @tedivm. Тому: +1.
gf_

Це працює, але його позначили як застаріле. Хтось знає, що таке новий метод?
Швейцарія

@Swiss Чи є у вас посилання на деякі документи, які показують, що це застаріло?
Нік

1
puppet cert cleanзараз працює над видаленням запитів. Дивіться зв'язаний звіт про помилку.
7yl4r

3

Можливе рішення 1:

Використання puppet cert cleanна ляльковому майстру - це правильний спосіб. Однак, оскільки ви отримуєте помилки, у вас може бути поганий перелік сертифікатів.

Спробуйте зробити повторну інвентаризацію та очистити:

$ puppet cert reinventory
$ puppet cert clean --all

Примітка: мій приклад використовує --allпрапор, це очистить усі сертифікати, підписані та непідписані. Також пам’ятайте, що лялькового майстра слід зупинити перед запуском a 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

Також двічі перевірте, чи може ваш клієнт дістатися до вашого [доменного імені лялькових майстрів].

Джерело: /server/574976/puppet-trying-to-configure-puppet-client-for-first-use-but-got-some-problems-wi


Дякую, я спробував reinventoryі тоді, clean wrong.host.nameтому що я теж не хочу відкликати хороші сертифікати, але я все одно отримую помилку з порядковим номером.
Луї

Хороший улов на --all. Я щойно додав оновлення, яке варто зняти.
tbenz9

Чудово, після puppet cert sign wrong.host.nameвикористання cleanтворів. Здається неправильним, що я маю спершу це підписати.
Луї

1
Також не забудьте перезапустити послугу майстра ляльок після очищення будь-яких сертифікатів.
Роберт Фей

1
FYI, інша відповідь набагато краща за цю. Якщо ви будете дотримуватися порад щодо ОП, ви збираєтеся виконувати команди, які не працюють (наприклад, команда очищення), або ви підпишете сертифікати, які ви знаєте, що вони погані. Якщо ви дотримуєтесь наведених нижче порад і просто користуєтесь, puppet ca destroy wrong.host.nameвам не доведеться вводити ризики для безпеки у вашу інфраструктуру.
tedivm

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 

додано рядок нижче до invent.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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.