Puppet: Попытка настроить клиент Puppet для первого использования, но возникли некоторые проблемы с сертификатами

8

Я пытаюсь настроить свою клинику «Итай-тест» для получения настроек кукол с сервера кукол, который называется «мастер кукол».

На сервере я запустил:

[root@puppetmaster requests]# puppet cert --generate itai-test.domain
Error: A Certificate already exists for itai-test.domain
[root@puppetmaster requests]# puppet cert --sign itai-test.domain
Error: Could not find certificate request for itai-test.domain
[root@puppetmaster requests]# 

На марионеточном клиенте я бегал:

[root@itai-test temp]# puppet agent --server puppetmaster.domain --waitforcert 60 --test
Notice: Did not receive certificate
Notice: Did not receive certificate
Notice: Did not receive certificate

Больше информации: На сервере:

[root@puppetmaster ~]# puppet cert --revoke Itai-test
Error: Could not find a serial number for itai-test
[root@puppetmaster ~]# puppet cert --revoke itai-test
Error: Could not find a serial number for itai-test
[root@puppetmaster ~]# puppet cert --clean itai-test
Error: Could not find a serial number for itai-test
[root@puppetmaster ~]# puppet cert --list
[root@puppetmaster ~]# puppet cert --sign itai-test
Error: Could not find certificate request for itai-test
[root@puppetmaster ~]# 

На клиенте:

[root@itai-test ~]# rm -rf /usr/lib/puppet/ssl
[root@itai-test ~]# puppet agent --server puppetmaster.domain --waitforcert 60
[root@itai-test ~]# ping puppetmaster.domain
PING puppetmaster (192.168.X.X) 56(84) bytes of data.
64 bytes from puppetmaster (192.168.X.X): icmp_seq=1 ttl=64 time=0.294 ms
Итай Ганот
источник

Ответы:

12

Ваш клиент знает, как найти сервер?

root@client# ping puppet

Какое сертификатное имя будет использовать клиент при подключении к серверу?

root@client# puppet config print certname

Удалите детали ssl на клиенте

root@client# rm -rf /var/lib/puppet/ssl

Удалить все следы клиента на сервере

root@puppet# puppet node clean $client_certname
root@puppet# puppet node deactivate $client_certname
ptman
источник
1
Спасибо за "puppet config print certname" - очень полезно, и я раньше такого не видел.
Ричардкмиллер
1
Спасибо. Каким-то образом имя сертификата не совпадало с моим именем хоста, я исправил его, установив имя сертификата в puppet.conf
kqw
Документы переехали. Вместо этого смотрите certname в puppet.conf .
nomadic_squirrel
3

Первый: на сервере

puppet cert --revoke Itai-test
puppet cert --clean Itai-test

Второе: на клиенте

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 Itai-test

Также дважды проверьте, что ваш клиент может получить доступ к вашему [доменному имени puppetmaster].

mrpatrick
источник
Я отредактировал свой вопрос с результатами упомянутых вами команд, спасибо.
Итай Ганот
1

Я думаю, что вы вышли из синхронизации как-то. Предполагая, что это действительно просто тестовый экземпляр ... На сервере запустите puppet node clean itai-test.domain. Затем на клиенте запускаем rm -rf /var/lib/puppet/ssl. Теперь ваш сертификат SSL для клиента исчез. Запустите puppet agent --server puppetmaster.domain --waitforcert 60 --testна клиенте и найдите запрос сертификата на сервере.

Билл Вайс
источник
У меня была та же проблема, что и у оп, и это наконец-то сработало для меня.
Slec