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

Puppet Master на виртуальной машине с перенаправлением портов (ошибка сертификата SSL?)

Я пытаюсь запустить мастер марионеток на виртуальной машине и подключиться с клиентской машины через перенаправление портов на хосте виртуальной машины.

Детали

У меня есть виртуальная машина под управлением Ubunto с Puppet 3.1.1 (называется MGT). Хост виртуальной машины (называемый локи) запускает rinetd, который перенаправляет входящие соединения через порт 8140 на виртуальную машину.

У меня есть клиентская машина (называется Тор) с Puppet 3.0.2.

Тестирование с помощью netcat и telnet подтверждает, что переадресация портов работает и что я могу подключиться со своей клиентской машины (Тор) на виртуальную машину-хозяин марионеток (MGT).

Когда я запускаю кукловода (на MGT) с помощью следующей команды он запускается правильно:

puppet master --no-daemonize --debug

Когда я запускаю агент (на Тор) с помощью следующей команды:

puppet agent --server loki --test --no-daemonize

Я получаю следующую ошибку:

Warning: Unable to fetch my node definition, but the agent run will continue:
Warning: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [self signed certificate in certificate chain for /CN=Puppet CA: localhost]
Info: Retrieving plugin
Error: /File[/var/puppet/lib]: Failed to generate additional resources using 'eval_generate: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [self signed certificate in certificate chain for /CN=Puppet CA: localhost]
Error: /File[/var/puppet/lib]: Could not evaluate: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [self signed certificate in certificate chain for /CN=Puppet CA: localhost] Could not retrieve file metadata for puppet://loki/plugins: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [self signed certificate in certificate chain for /CN=Puppet CA: localhost]
Error: Could not retrieve catalog from remote server: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [self signed certificate in certificate chain for /CN=Puppet CA: localhost]
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
Error: Could not send report: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [self signed certificate in certificate chain for /CN=Puppet CA: localhost]

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

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

Есть предложения о том, как действовать?

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

В частности:

Сертификат сервера, который имеет марионетка, и тот, который использует марионетка, различаются. На чисто марионеточном узле один простой способ - просто удалить текущую информацию SSL и начать заново:

найти / var / lib / puppet -type f -print0 | xargs -0r rm

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

Следующая ссылка дает очень хорошее объяснение того, как работают сертификаты Puppet: