Проверка сертификата марионетки не удалась даже после регенерации сертификата

Резюме

Мне пришлось перестроить сервер, и я столкнулся с интересной проблемой. . Puppet отказывается проверять сертификаты даже после удаления / var / lib / puppet / ssl и очистки сертификата от мастера. ОС: Ubuntu 14.04
Версия Puppet Master: 3.4.3-1 (с использованием Webrick)

Агент:
ОС: Ubuntu 12.04
Версия марионетки: 2.7.11
(Обратите внимание, что я заменил имя хоста на 'agent-server.com' в выводе ниже)

Шаги репликации

  • Удаление каталога SSL на сервере агента:

    rm -fr / var / lib / puppet / ssl

  • Очистите сертификат на Мастере марионеток:

    Сертификат марионеток очистите agent-server.com

  • Перезапустите Мастер Марионеток:

    /etc/init.d/puppetmaster restart

  • Запустите агент марионеток:

    puppet agent -t

Сообщения об ошибках:

Агент:

root@agent-server:~# puppet agent -t
info: Creating a new SSL key for agent-server.com
info: Caching certificate for ca
info: Creating a new SSL certificate request for agent-server.com
info: Certificate Request fingerprint (md5): F2:2A:AD:3C:D5:E8:13:82:1D:C5:80:B4:FD:23:C4:86
info: Caching certificate for agent-server.com
info: Caching certificate_revocation_list for ca
err: Could not retrieve catalog from remote server: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed.  This is often because the time is out of sync on the server or client
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run
err: Could not send report: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed.  This is often because the time is out of sync on the server or client 

Puppet Master

[2017-08-29 18:08:51] 10.88.0.208 - - [29/Aug/2017:18:08:51 UTC] "GET /production/certificate/ca? HTTP/1.1" 200 1939
[2017-08-29 18:08:51] - -> /production/certificate/ca?
[2017-08-29 18:08:51] 10.88.0.208 - - [29/Aug/2017:18:08:51 UTC] "GET /production/certificate/agent-server.com? HTTP/1.1" 404 78
[2017-08-29 18:08:51] - -> /production/certificate/agent-server.com?
[2017-08-29 18:08:51] 10.88.0.208 - - [29/Aug/2017:18:08:51 UTC] "GET /production/certificate_request/agent-server.com? HTTP/1.1" 404 86
[2017-08-29 18:08:51] - -> /production/certificate_request/agent-server.com?
[2017-08-29 18:08:51] 10.88.0.208 - - [29/Aug/2017:18:08:51 UTC] "PUT /production/certificate_request/agent-server.com HTTP/1.1" 200 1448
[2017-08-29 18:08:51] - -> /production/certificate_request/agent-server.com
[2017-08-29 18:08:51] 10.88.0.208 - - [29/Aug/2017:18:08:51 UTC] "GET /production/certificate/agent-server.com? HTTP/1.1" 200 1448
[2017-08-29 18:08:51] - -> /production/certificate/agent-server.com?
[2017-08-29 18:08:56] 10.88.0.208 - - [29/Aug/2017:18:08:56 UTC] "GET /production/certificate_revocation_list/ca? HTTP/1.1" 200 11220
[2017-08-29 18:08:56] - -> /production/certificate_revocation_list/ca?
[2017-08-29 18:08:56] ERROR OpenSSL::SSL::SSLError: SSL_accept returned=1 errno=0 state=SSLv3 read client certificate A: sslv3 alert certificate revoked
/usr/lib/ruby/vendor_ruby/puppet/network/http/webrick.rb:35:in `accept'
/usr/lib/ruby/vendor_ruby/puppet/network/http/webrick.rb:35:in `block (2 levels) in listen'
/usr/lib/ruby/1.9.1/webrick/server.rb:191:in `call'
/usr/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'
[2017-08-29 18:08:56] ERROR OpenSSL::SSL::SSLError: SSL_accept returned=1 errno=0 state=SSLv3 read client certificate A: sslv3 alert certificate revoked
/usr/lib/ruby/vendor_ruby/puppet/network/http/webrick.rb:35:in `accept'
/usr/lib/ruby/vendor_ruby/puppet/network/http/webrick.rb:35:in `block (2 levels) in listen'
/usr/lib/ruby/1.9.1/webrick/server.rb:191:in `call'
/usr/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread

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

К сожалению, я немного озадачен. Любая помощь приветствуется.

1
задан 29 August 2017 в 21:53
1 ответ

Сервер отклоняет ваш сертификат клиента, поскольку он был подписан старым серверным CA. Удалите или переместите старый сертификат клиента с клиентского хоста

sudo mv / var / lib / puppet / ssl /var/lib/puppet/ssl.old

, затем снова активируйте агент с клиентского хоста.

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

0
ответ дан 4 December 2019 в 04:38

Теги

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