Учебники

Puppet — Настройка SSL-сертификата

Когда программное обеспечение агента Puppet запускается впервые на любом узле Puppet, оно генерирует сертификат и отправляет запрос на подпись сертификата мастеру Puppet. Прежде чем сервер Puppet сможет связываться с узлами агента и управлять ими, он должен подписать сертификат этого конкретного узла агента. В следующих разделах мы опишем, как подписать и проверить запрос на подпись.

Список текущих запросов сертификатов

На хозяине Puppet выполните следующую команду, чтобы увидеть все неподписанные запросы сертификатов.

$ sudo /opt/puppetlabs/bin/puppet cert list

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

"Brcleprod004.brcl.com" (SHA259) 
15:90:C2:FB:ED:69:A4:F7:B1:87:0B:BF:F7:ll:
B5:1C:33:F7:76:67:F3:F6:45:AE:07:4B:F 6:E3:ss:04:11:8d 

Он не содержит + (знак) в начале, который указывает, что сертификат все еще не подписан.

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

Чтобы подписать новый запрос сертификата, который был сгенерирован при запуске агента Puppet на новом узле, будет использоваться команда знака Puppet cert с именем хоста сертификата, который был создан вновь сконфигурированным узлом, которому требуется должен быть подписан. Поскольку у нас есть сертификат Brcleprod004.brcl.com, мы будем использовать следующую команду.

$ sudo /opt/puppetlabs/bin/puppet cert sign Brcleprod004.brcl.com 

Ниже будет вывод .

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

Сервер марионеток теперь может связываться с узлом, которому принадлежит сертификат подписи.

$ sudo /opt/puppetlabs/bin/puppet cert sign --all 

Отмена хоста из настроек Puppet

Существуют условия конфигурации ядра, когда требуется удалить хост из установки и добавить его снова. Это те условия, которыми не может управлять сама Марионетка. Это можно сделать с помощью следующей команды.

$ sudo /opt/puppetlabs/bin/puppet cert clean hostname 

Просмотр всех подписанных запросов

Следующая команда создаст список подписанных сертификатов со знаком + (знак), который указывает, что запрос утвержден.

$ sudo /opt/puppetlabs/bin/puppet cert list --all

Следующим будет его вывод .

+ "puppet" (SHA256) 5A:71:E6:06:D8:0F:44:4D:70:F0:
BE:51:72:15:97:68:D9:67:16:41:B0:38:9A:F2:B2:6C:B 
B:33:7E:0F:D4:53 (alt names: "DNS:puppet", "DNS:Brcle004.nyc3.example.com")  

+ "Brcle004.brcl.com" (SHA259) F5:DC:68:24:63:E6:F1:9E:C5:FE:F5:
1A:90:93:DF:19:F2:28:8B:D7:BD:D2:6A:83:07:BA:F E:24:11:24:54:6A 

+ " Brcle004.brcl.com" (SHA259) CB:CB:CA:48:E0:DF:06:6A:7D:75:E6:CB:22:BE:35:5A:9A:B3 

После того как все вышеперечисленное выполнено, у нас есть готовая инфраструктура, в которой мастер Puppet теперь может управлять вновь добавленными узлами.