Назад | Перейти на главную страницу

Предварительно сгенерированные сертификаты Puppet для нескольких агентов

У меня есть требование, как показано ниже

  1. Я создал предварительно сгенерированные сертификаты в мастере для нескольких агентов с некоторым именем
  2. Я должен скопировать заранее созданный сертификат всем агентам.
  3. Все клиенты, у которых есть предварительно сгенерированный сертификат, должны иметь возможность получить каталог от мастера.

Пожалуйста помоги мне с этим.

Я пробовал, но получаю сообщение об ошибке, подобное приведенному ниже. Ошибка: не удалось запросить сертификат: сертификат, полученный от мастера, не соответствует закрытому ключу агента. Отпечаток сертификата:

С уважением, Кришна.

Вы поняли это? Что именно вы передали своим клиентам? Если вы предварительно генерируете ключи / сертификаты на главном сервере / CA, вы должны передать закрытый ключ и сертификат клиентам. Формулировка вашего вопроса заставляет меня подозревать, что вы передали только созданные вами сертификаты.

Непонятно, какие шаги вы предприняли. Но вот рабочий пример - для настройки бродяг с несколькими виртуальными машинами я использую этот фрагмент для установки различных марионеточных сертификатов в зависимости от имени хоста:

HOST=`hostname -s`
echo "Hello World from $0 on $HOST. Now installing puppet ssl keys ..."

mkdir -p /var/lib/puppet/ssl/certs /var/lib/puppet/ssl/private_keys /var/lib/puppet/ssl/public_keys
chown puppet:puppet /var/lib/puppet/ssl/certs /var/lib/puppet/ssl/private_keys /var/lib/puppet/ssl/public_keys

if [[ -e "/home/vagrant/files/vagrant_keys/${HOST}.vm.example.org.pem_cert" ]]; then
    cp /home/vagrant/files/vagrant_keys/${HOST}.vm.example.org.pem_cert    /var/lib/puppet/ssl/certs/${HOST}.vm.example.org.pem
    cp /home/vagrant/files/vagrant_keys/${HOST}.vm.example.org.pem_private /var/lib/puppet/ssl/private_keys/${HOST}.vm.example.org.pem
    cp /home/vagrant/files/vagrant_keys/${HOST}.vm.example.org.pem_public  /var/lib/puppet/ssl/public_keys/${HOST}.vm.example.org.pem
else
    echo "no puppet ssl certificate found for ${HOST}.vm.example.org"
    echo "please sign and deploy the new one, generated in /var/lib/puppet/ssl"
fi