Не удается подключить марионеточный агент к мастеру

Я пытаюсь настроить марионетку в первый раз.

Я обеспечил порт 8140 и 22 открыты с использованием ufw .

И сервер, и агент работают. Перед запуском агента я отредактировал /etc/puppet/puppet.conf , добавив:

[agent]
server=174.89.xyz.abc

Я также сделал то же самое для /etc/puppetlabs/puppet/puppet.conf , Не уверен, что у меня должны быть оба, когда я запускаю puppet --version , я возвращаюсь 4.10 .

IP-адрес сервера агента установлен на IP-адрес главного сервера.

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

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

Изменить:

Я запустил puppet agent --test , который вернул:

Info: Creating a new SSL key for ip-172-00-00-00.us-west-2.compute.internal
Error: Could not request certificate: Failed to open TCP connection to puppet:8140 (getaddrinfo: Name or service not known)
Exiting; failed to retrieve certificate and waitforcert is disabled

Я убедился, что мой ноутбук находится в DMZ и может успешно ping его с сервера агента.


Обновление:

@DylanKnoll указал, что значение по умолчанию для сервера марионеточный, поэтому он может не принимать IP-адреса. Я нашел дополнительную документацию о том, какая марионетка имеет псевдоним здесь . Затем я удалил указанную выше конфигурацию и добавил эту строку в / etc / hosts :

174.89.000.000 puppet

После этого изменения полученная мной ошибка изменилась. Кажется, они налаживают связь. Я все еще использую IP-адрес, поэтому, возможно, мне понадобится доменное имя, чтобы получить правильное ssl-соединение (?)

Сообщение об ошибке:

Error: Could not request certificate: The CSR retrieved from the master does not match the agent's public key.
CSR fingerprint: BF:43:71:72:86:45:76:E9:34:20:24:71:B6:0C:88:25:3A:67:5E:C4:84:D5:E0:22:C9:1A:9E:FD:98:C1:0D:3C
CSR public key: Public-Key: (4096 bit)
Modulus:
    00:b7:bd:de:db:24:50:01:95:ad:10:af:83:6e:c5:
    # lines removed
    35:e9:17:40:46:09:31:96:d6:68:ca:15:9e:be:41:
    85:6c:eb
Exponent: 65537 (0x10001)

Agent public key: Public-Key: (4096 bit)
Modulus:
    00:b0:21:80:23:d5:a5:26:37:ea:68:02:99:d5:85:
    # lines removed
    3d:92:e1
Exponent: 65537 (0x10001)

To fix this, remove the CSR from both the master and the agent and then start a puppet run, which will automatically regenerate a CSR.
On the master:
  puppet cert clean ip-172-31-27-12.us-west-2.compute.internal
On the agent:
  1a. On most platforms: find /home/ubuntu/.puppetlabs/etc/puppet/ssl -name ip-172-31-27-12.us-west-2.compute.internal.pem -delete
  1b. On Windows: del "\home\ubuntu\.puppetlabs\etc\puppet\ssl\certs\ip-172-31-27-12.us-west-2.compute.internal.pem" /f
  2. puppet agent -t
0
задан 25 April 2017 в 15:35
3 ответа

Вы запускали puppet agent --test на агенте для генерации (и отправки) начального запроса сертификата? Это должно поместить агента в список запросов сертификатов вашего мастера.

Если агент просто жалуется на то, что не нашел сертификат, а затем завершает работу, он может подумать, что он уже отправил запрос - просто сбросьте его память, насколько SSL касается резервного копирования и удаления настроенного каталога SSL марионетки (по умолчанию / var / lib / puppet / ssl или / etc / puppetlabs / puppet / ssl ), затем запускается puppet agent --test - debug и - verbose , если вы действительно хотите убедиться) - этот прогон должен вывести, что он генерирует новый запрос сертификата , и его следует отправить настроенному мастеру.

2
ответ дан 4 December 2019 в 13:33

Сообщение об ошибке сообщает вам, что именно делать. Очистите папку SSL узлов:

rm -rf /etc/puppetlabs/puppet/ssl

Примечание: При этом удаляются все марионеточные сертификаты SSL, CSR и т. Д. Так что делайте это только на узле, а не на сервере.

Затем удалите CSR из Puppetmaster:

sudo /opt/puppetlabs/bin/puppet cert clean <hostname>

Затем выполните еще один запуск марионетки на узле:

sudo /opt/puppetlabs/bin/puppet agent -tv

Это создаст новый CSR.

0
ответ дан 4 December 2019 в 13:33

Если вы используете виртуальные машины Azure, а затем подключаетесь к PuTTY, вам необходимо открыть порт 8140 в Azure, поскольку по умолчанию все порты заблокированы. Перейдите к опции сети виртуальной машины и добавьте разрешающие правила для порта 8140 (поскольку марионетка работает на порту 8140). Затем снова попробуйте подключиться из нового к PuTTY, все будет работать.

0
ответ дан 13 January 2020 в 04:57

Теги

Похожие вопросы