Как управлять сертификатами Puppet 4

Кукольный шпаргалка

Puppet - это инструмент управления конфигурацией, который помогает системным администраторам автоматизировать предоставление, настройку и управление серверной инфраструктурой. Обычно он работает в режиме мастер / агент, где главный сервер управляет конфигурацией нескольких узлов агента. Связь между мастером и агентами предоставляется и защищается с помощью проверенного клиента HTTPS, который требует действительной идентификации SSL-сертификатов. Хозяин Puppet действует как центр сертификации для управления этими сертификатами.

Это руководство по стилю шпаргалки предоставляет краткий справочник по использованию команды + puppet cert + для управления этими сертификатами.

  • Как использовать это руководство: *

  • Это руководство в формате шпаргалки с отдельными фрагментами командной строки

  • Перейдите к любому разделу, который имеет отношение к задаче, которую вы пытаетесь выполнить.

Листинг сертификатов запросов

Когда серверы агентов Puppet подключаются к сети, если все настроено правильно, они отправляют запрос на подпись сертификата мастеру Puppet. Эти запросы можно просмотреть с помощью команды + puppet cert list.

Список всех запросов, подписанных и неподписанных

Чтобы просмотреть все запросы на сертификаты, подписанные и неподписанные, используйте флаг + - all + следующим образом:

sudo puppet cert list --all

Подписанным запросам предшествует плюс (+), а неподписанным - нет. В приведенных ниже выходных данных + host2.example.com + не был подписан, в то время как + host1 + и + puppet + имеют:

Output:+ "host1.example.com"    (SHA256) 51:D8:7A:EB:40:66:74:FD:0A:03:5D:35:AA:4D:B3:FA:35:99:C2:A8:C9:01:83:34:F6:16:60:BB:46:1F:33:3F
 "host2.example.com"   (SHA256) 3C:A9:96:3A:8D:24:5F:25:DB:FF:67:B5:22:B1:46:D9:89:F1:75:EC:BA:F2:D6:87:70:0C:59:97:11:11:01:E3
+ "puppet.example.com" (SHA256) 12:32:47:18:D1:12:85:A6:EA:D4:51:9C:24:96:E2:8A:51:41:8D:EB:E8:7C:EB:47:94:B0:8B:16:16:51:6A:D1 (alt names: "DNS:puppet", "DNS:puppet.localdomain", "DNS:puppet.example.com")

Список неподписанных запросов

Прежде чем Puppet Server сможет взаимодействовать с узлом агента и контролировать его, он должен подписать сертификат этого конкретного узла агента. Чтобы просмотреть неподписанные запросы, используйте команду + puppet cert list с сервера Puppet:

sudo puppet cert list

Это будет только список неподписанных запросов. Вывод будет выглядеть примерно так:

Output: "host2.example.com" (SHA256) 9D:49:DE:46:1C:0F:40:19:9B:55:FC:97:69:E9:2B:C4:93:D8:A6:3C:B8:AB:CB:DD:E6:F5:A0:9C:37:C8:66:A0

Отсутствие знака плюс (+) означает, что эти сертификаты еще не подписаны. Если нет неподписанных запросов, вы вернетесь в командную строку без вывода.

Подписание запроса на сертификат

Подпишите конкретные запросы

Чтобы подписать один запрос сертификата, используйте команду + puppet cert sign +, с одним или несколькими именами хостов, как показано в запросе сертификата.

puppet cert sign

Вывод, аналогичный приведенному ниже, показывает, что запрос сертификата был подписан:

Output:Notice: Signed certificate request for
Notice: Removing file Puppet::SSL::CertificateRequest  at '/etc/puppetlabs/puppet/ssl/ca/requests/.pem'

Подпишите все запросы

Вы можете подписать все запросы, добавив флаг + - all +:

sudo puppet cert sign --all

Отзыв сертификатов

В конце концов, вы можете удалить хост из Puppet или перестроить хост, а затем добавить его обратно. В этом случае вам необходимо отозвать сертификат хоста у мастера Puppet. Для этого используйте действие + clean +:

Отозвать определенные сертификаты

Вы можете отозвать один или несколько конкретных сертификатов с помощью + puppet cert clean +, указав одно или несколько имен хостов, которые появляются в сертификате:

sudo puppet cert clean

После отзыва сертификата вы должны restart Puppet master, чтобы отзыв вступил в силу.

sudo service puppetserver reload

В следующий раз, когда + puppet agent будет запущен на узле агента, он отправит новый запрос на подпись сертификата мастеру Puppet, который может быть подписан с помощью` + puppet cert sign`. Вы можете вызвать запрос немедленно с помощью:

sudo puppet agent --test

Отозвать несколько сертификатов

Puppet не разрешает массовое удаление сертификатов с флагом + - all +, но несколько сертификатов можно отозвать сразу, указав имена хостов, разделенные пробелом:

sudo puppet cert clean   . . .

После отзыва сертификатов вы должны restart Puppet master, чтобы аннулирования вступили в силу.

sudo service puppetserver reload

Заключение

В этом руководстве рассматриваются некоторые общие команды для управления сертификатами Puppet в Puppet версии 4.x. Есть другие действия и флаги, которые можно использовать с + puppet cert +. Полный список см. На странице `+puppet cert + `man.