Puppet در FreeBSD با استفاده از گواهی امضا شده به سرورها متصل می شود.
امروزه تقریباً همه چیز از SSL استفاده می کند. گواهینامه ها را می توان توسط مقامات گواهی معتبر امضا کرد یا می تواند خود امضا شود. اتصال خدمات مورد اعتماد ما آسان است، اما هنگام اتصال به سروری که از گواهی تولید شده توسط یک CA با امضای خود استفاده می کند، همه چیز می تواند مشکل باشد.
Puppet یک ابزار مدیریت پیکربندی شبیه به CFengine، Salt، Ansible است. دارای مجموعه ای چشمگیر از ماژول ها برای انجام وظایف مختلف است. حتی دارای ماژول هایی برای ارتباط با (HashiCorp) Vault است. در مورد من، سرور Puppet من نتوانست به سرور Vault من که از گواهی امضا شده استفاده میکرد متصل شود:
puppet agent -t
Error: Failed to apply catalog: certificate verify failed [unable to get local issuer certificate for CN=my-vault-server.com]
برای حل این مشکل در اوبونتو، گواهی CA خود را در زیر کپی کنید
دایرکتوری، یک شماره هش/سریال از آن و یک پیوند نمادین به گواهی CA ایجاد کنید (به تام که در این مورد به من کمک کرد به سلامتی). این می تواند روی دبیان و سایر توزیع های لینوکس کار کند. من تستش نکردم/opt/puppetlabs/puppet/ssl/certs/
cp CA.crt /opt/puppetlabs/puppet/ssl/certs/CA.crt
chown root:root /opt/puppetlabs/puppet/ssl/certs/CA.crt
chmod 0644 /opt/puppetlabs/puppet/ssl/certs/CA.crt
openssl x509 -noout -hash -in /opt/puppetlabs/puppet/ssl/certs/CA.crt
a1942923
ln -s /opt/puppetlabs/puppet/ssl/certs/CA.crt /opt/puppetlabs/puppet/ssl/certs/a1942923.0
همان دایرکتوری (/opt/puppetlabs/puppet/ssl/certs/) با FreeBSD کار نمی کند. در اینجا شما استفاده خواهید کرد /etc/ssl/certs/
مراحل بالا را برای این دایرکتوری تکرار کنید.
cp CA.crt /etc/ssl/certs/CA.crt
chown root:wheel /etc/ssl/certs/CA.crt
chmod 0644 /etc/ssl/certs/CA.crt
openssl x509 -noout -hash -in /etc/ssl/certs/CA.crt a1942923
ln -s /etc/ssl/certs/CA.crt /etc/ssl/certs/a1942923.0
اکنون puppet agent -t
باید بدون خطا کار کند من آن را روی FreeBSD 13.1 با استفاده از Puppet 7 تست کردم.
از همان دایرکتوری می توان برای افزودن هر گواهی امضا شده به سرور FreeBSD خود استفاده کرد. این صفحه بیشتر در مورد این موضوع توضیح می دهد.
در اینجا یک مقاله مرتبط از وب سایت رسمی Puppet در مورد افزودن گواهینامه به مجموعه گواهی Puppet در لینوکس وجود دارد.