Я искал в Интернете и пробовал разные исправления, но ни один из них не помог.
Проблема: при настройке нового агента для подключения к Puppet Master я запускаю:
sudo /opt/puppetlabs/bin/puppet agent --test
Результат этой команды (с удаленным или измененным определенным текстом):
Info: csr_attributes file loading from /etc/puppetlabs/puppet/csr_attributes.yaml
Info: Creating a new SSL certificate request for puppetmaster.example.com
Info: Certificate Request fingerprint (SHA256): <<intentionally removed>>
Error: Could not request certificate: Error 500 on SERVER: Internal Server Error: java.io.FileNotFoundException: /etc/puppetlabs/puppet/ssl/ca/requests/puppetagent.example.com.pem (Permission denied)
Exiting; failed to retrieve certificate and waitforcert is disabled
Я пробовал / проверял несколько вещей, которые не сработали:
- Я могу успешно подключиться к мастеру через DNS-имя на порту 8140
- Просто чтобы убедиться, что это не агент-сервер, который я пробовал с другим сервером, и там возникла та же проблема.
- Когда я использую waitforcert, одна и та же ошибка возникает снова и снова.
-- Когда я делаю:
sudo /opt/puppetlabs/bin/puppet cert list
Я ничего не вижу в списке.
Прочитал статьи про разрешения на мастере. Вот ls -lh каталога SSL
root@puppetmaster:/home/ubuntu# ls -lh /etc/puppetlabs/puppet/ssl/
total 28K
drwxr-xr-x 5 root 999 4.0K Jan 2 10:14 ca
drwxr-xr-x 2 root 999 4.0K Jan 2 10:10 certificate_requests
drwxr-xr-x 2 root 999 4.0K Jan 4 08:58 certs
-rw-r--r-- 1 root 999 1.1K Jan 4 08:58 crl.pem
drwxr-x--- 2 root 999 4.0K Jan 2 10:10 private
drwxr-x--- 2 root 999 4.0K Jan 2 10:10 private_keys
drwxr-xr-x 2 root 999 4.0K Jan 2 10:10 public_keys
Очевидно, что не так ... агент не может передать сертификат мастеру, поэтому я не могу подписать сертификат на мастере. Проблема в том, что я совершенно не знаю, на что смотреть дальше. Любой совет будет очень признателен.
Спасибо !
Право собственности (пользователь и группа) на ваш /etc/puppetlabs/puppet/ssl
каталог неверен. В ssl
каталог и его дочерние элементы должны принадлежать puppet
пользователь и группа:
chown -R puppet:puppet /etc/puppetlabs/puppet/ssl
После фиксации владения вам может потребоваться перезапустить puppetserver:
service puppetserver restart
Теперь ваш Puppetserver должен иметь возможность выдавать сертификаты агентам Puppet.