2014-10-24 3 views
4

Я пытаюсь скопировать текущий сервер Puppet Master на один домен и перенести его на другой. Я обнаружил, что очень сложно попытаться изменить всю остаточную конфигурацию. Есть ли простой способ сделать это или пошаговую передовую практику? Я получил большую часть старого имени fqdn и изменил его на новый, но когда я удаляю все сертификаты и повторно выдаю новые на главном сервере, он хочет продолжать вытягивать сертификат для старого FQDN.Ошибка: не удалось запустить: SSL_connect SYSCALL return = 5 errno = 0 state = SSLv3 read finished A

Редактировать 1: Я разрешил многие проблемы, которые я ранее получал. Однако я не могу преодолеть эту проблему с SSL для жизни меня.

[[email protected] lib]# puppet resource service apache2 ensure=running 
Error: Could not run: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [unable to get local issuer certificate for /CN=puppet.foundry.test] 

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

Error: Could not run: SSL_connect SYSCALL returned=5 errno=0 state=SSLv3 read finished A 

Теперь я не уверен, если я с кукольным SSL вопросы, или вопросы SSL в целом.

+0

Попробуйте 'кукольный ресурс --configprint все | grep <неправильный cert fqdn> '. Это что-то возвращает? –

ответ

2
  1. Вы можете использовать эту ссылку: http://bitcube.co.uk/content/puppet-errors-explained
  2. Вы пытались изменить мастер DNS кукольный?
  3. Попробуйте посмотреть, является ли мастер-кукольный мастер таким же, как то, что вы пишете на сервере на узле. Если нет, вы всегда можете использовать dns_alt_names = puppet_hostname.your_domain и все имена, которые вы хотите для кукольного мастера & CA.

Затем попробуйте перезапустить службу кукольного мастера, очистите ведомое имя владельца от мастера, удалите всю папку /var/lib/puppet/ssl/ из раба и снова запустите марионетку.

+1

Спасибо! Это сработало для меня. Я получал эту ошибку: «Предупреждение: SSL_connect SYSCALL возвращен = 5 errno = 0 state = unknown state' и запущен' sudo rm -r/etc/puppetlabs/puppet/ssl/* ' – 43Tesseracts

+0

У меня возникла эта проблема после перезапуска puppetserver агент работал ... я не знаю, как это связано, но создание нового сертификата действительно помогло ... – mmoossen

5

Скорее всего вы подключаетесь к неправильному серверу (по умолчанию - имя хоста puppet).

Проверьте конфигурации вашего агента, вы в основном заинтересованы в server переменной

puppet config print --section agent | grep "server = " 

Кроме того, это хорошо, чтобы знать, где puppet agent ищет его конфигурации:

$ puppet config print --section agent | grep "^config = " 
config = /etc/puppetlabs/puppet/puppet.conf 

Редактировать вашу конфигурацию, установить правильный кукольный ведущий:

[agent] 
server=puppet4.example.com 

Просто для уверенности , Вы можете очистить ваш cerfificate (на агента):

find /etc/puppetlabs/puppet/ssl -name $(hostname -f).pem -delete 

на кукольный сервере:

puppet cert clean {broken hostname} 

И, наконец, запустить puppet agent -t

1

Что кукольный не говорит вам, что есть сертификат несоответствие. Мастер отключается, как только он определяет, что сертификат недействителен или несоответствие. Поскольку разъединение настолько внезапно, марионетке не говорят, почему это происходит.

Когда это происходит, кукла может, например, изменить это сообщение об ошибке: «Эй, вот список вещей, которые вы можете проверить». а затем предложите такие вещи, как проверка даты истечения сертификата, несоответствие сертификата и т. д.Однако зачем кому-то это делать?

Вот один из способов, которыми вы можете попасть в эту ситуацию: по ошибке создайте две машины-кукловоды с таким же именем. Вторая машина, использующая это имя, будет работать, но первая машина больше не будет работать.

Как может кто-то попасть в эту ситуацию? Две машины не могут иметь одно и то же имя! Конечно нет. Но мы видели такие ситуации:

  • Машины A, B, C, D, E - все клиенты Puppet.
  • Машина C получает протирание и перезарядку. Техник случайно называет это «B». Чтобы заставить его работать с Puppet, они «кукольный cert clean B».
  • Техник осознает свою ошибку и реконфигурирует машину C с собственным именем, выполняет «кукольный cert clean C», а машина C работает отлично.
  • Через неделю кто-то замечает, что машина B не смогла поговорить с мастером. Он получает это сообщение об ошибке. После нескольких часов отладки они видят, что у сертификата клиента есть один серийный номер, но мастер ожидает, что у клиента будет совсем другой серийный номер. Сертификат машины B очищается, регенерируется и т. Д., И все продолжается.

Если Puppet Labs обновит сообщение об ошибке, чтобы намекнуть, что это может быть проблемой? Они могли бы, но тогда я бы не стал отвечать за написание этого удивительного ответа. Кроме того, технические специалисты никогда не должны совершать такую ​​ошибку, поэтому зачем обращаться с тем случаем, который, очевидно, никогда не должен происходить ... за исключением случаев, когда это происходит.

0

Убедитесь, что вы используете марионетку как root или sudo. Я получил эту точную ошибку, когда был моим обычным пользователем и запустил «кукольный агент -t», не повышая свои привилегии.

Смежные вопросы