Як вручну створити Puppet CA та сертифікати?


13

Мене цікавить, як вручну (використовуючи openssl замість команди маріонеткового ca) створити CA, який був би придатний для використання Лялькою? Метою було б створення сценарію таких ЦА для розміщення їх на декількох лялькових майстрах, замість того, щоб на них створювалися сертифікати за допомогою команди маріонеткового сертифікату.

Будь-які ідеї, як це зробити? Мені вдалося знайти щось подібне: https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Set_up_a_standalone_puppetmaster, але це не працює - після створення сертифікату CA та клієнта та застосування їх до лялькового майстра, він скаржиться на:

Feb 16 09:35:20 test puppet-master[81728]: Could not prepare for execution: The certificate retrieved from the master does not match the agent's private key.
Feb 16 09:35:20 test puppet-master[81728]: Certificate fingerprint: 4F:08:AE:01:B9:14:AC:A4:EA:A7:92:D7:02:E9:34:39:1C:5F:0D:93:A0:85:1C:CF:68:E4:52:B8:25:D1:11:64
Feb 16 09:35:20 test puppet-master[81728]: To fix this, remove the certificate from both the master and the agent and then start a puppet run, which will automatically regenerate a certficate.
Feb 16 09:35:20 test puppet-master[81728]: On the master:
Feb 16 09:35:20 test puppet-master[81728]:   puppet cert clean test
Feb 16 09:35:20 test puppet-master[81728]: On the agent:
Feb 16 09:35:20 test puppet-master[81728]:   rm -f /var/puppet/ssl/certs/test.pem
Feb 16 09:35:20 test puppet-master[81728]:   puppet agent -t


Дякую, але, на жаль, він говорить лише про можливе, не показуючи як. До того ж, це стосується досить старої версії Лялечки.
SpankMe

@SpankMe Чому б не просто використовувати puppet cert generate?
Шейн Медден

3
@Shane Тому, що мені доведеться обгортати системні команди в скриптах з об'єктами Popen, перевірити їх вихід шляхом розбору тексту ... Його набагато менш гнучкі та "кошерніші", ніж просто використання бібліотеки openssl, і на додачу до цього потрібна установка ляльок на сервері , там, де він не повинен бути встановлений - я хочу лише заздалегідь створити сертифікати CA та клієнтів маріонетки, а потім розподілити їх на належні машини.
SpankMe

Відповіді:


1

Агент не використовує попередньо створений сертифікат клієнта. Натомість він створив CSR (з новим ключем), тому майстер не буде довіряти агенту.

Переконайтеся, що файли, знайдені в

`puppet agent --configprint ssldir`/{certs,private_keys}/`puppet agent --configprint certname`

ідентичні тим, які ви попередньо виробили і поклали на свого господаря. (Ведучий не повинен отримувати копію приватного ключа агента.)


-1

Я не знаю, навіщо вам коли-небудь потрібен сценарій, який генерує certs? Після того, як маріонетка генерує церт, який повинен бути хорошим, поки у вас є клієнт (агент). Якщо ви не видалили клієнта і не створили нову машину клієнта з тим же ім'ям хоста. Якщо ви запустите маріонетку, вона скаржиться, сказавши, що існує невідповідність приватного ключа. Натомість слід очищати серт на ляльковому сервері, коли клієнт вам не потрібен (наприклад, ви перевстановлюєте ОС або відтворюєте віртуальну машину) за допомогою лялькового puppet cert clean testмайстра.


-1

Будь ласка, зверніться до цієї URL-адреси. ця URL може допомогти вирішити проблему https://docs.puppet.com/puppet/5.0/ssl_regenerate_certificates.html


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