태그 보관물: puppet

puppet

내 puppetmaster에 여러 DNS 이름을 추가하는 방법은 무엇입니까? 내 puppet.conf [master] certname

마스터의 내 puppet.conf

[master]
certname = myname.mydomain.com
ca_server = myname.mydomain.com
certdnsnames = puppet;puppet.local;myname.dyndns.org;hivemind.local;

certdnsnames에 대한 이해를 위해 다음이 작동해야합니다.

puppet agent --server myname.dyndns.org --test

하지만 다음과 같은 오류가 발생합니다.

err: Could not retrieve catalog from remote server: hostname was not match with the server certificate

이 오류를 피하는 방법? certdnsname을 올바르게 정의하는 방법? 이것에 관한 다른 문서를 찾았지만 간단한 예는 없습니다. ii 분리에 “,”를 사용하면 전혀 서명 할 수 없습니다. 나는 또한 같은 구문을 보았다

certdnsnames = puppet:puppet.intra.myserver.fr,puppet.myserver.fr:puppet,puppet:puppet,puppet.intra.myserver.fr,puppet.myserver.fr

http://projects.puppetlabs.com/issues/5776

그러나 “puppet :”을 추가 할 때와 그렇지 않을 때는 명확하지 않습니다.



답변

이 답변을 우연히 발견 한 다른 사람의 이익을 위해 :

CVE-2011-3872 로 인해 Puppet은 더 이상 certdnsnames옵션을 지원하지 않습니다 . 설명서에서 :

CVE-2011-3872 이후 certdnsnames 설정이 더 이상 작동하지 않습니다. 우리는 그 가치를 완전히 무시합니다. 자체 인증서 요청의 경우 구성에서 dns_alt_names를 설정할 수 있으며 로컬로 적용됩니다. 다른 노드 인증서에 대해 DNS 대체 이름 또는 다른 subjectAltName 값을 설정하는 구성 옵션이 없습니다. 또는 –dns_alt_names 명령 줄 옵션을 사용하여 고유 한 CSR을 생성하는 동안 추가 된 레이블을 설정할 수 있습니다.

다음과 같이 subjectAlternativeName을 사용하여 서버에 대한 SSL 인증서를 생성 할 수 있습니다.

$ puppet cert generate <puppet master's certname> --dns_alt_names=<comma-separated list of DNS names>

답변

Puppet 4+의 경우 다음 명령을 사용하여 puppetserver 인증서의 승인 된 DNS 이름을 변경하십시오.

기존 인증서의 이름을 * .backup으로 바꾸십시오.

mv /etc/puppetlabs/puppet/ssl/private_keys/$(hostname -f).pem{,.backup}
mv /etc/puppetlabs/puppet/ssl/ca/signed/$(hostname -f).pem{,.backup}
mv /etc/puppetlabs/puppet/ssl/certs/$(hostname -f).pem{,.backup}

새 인증서 생성 (원하는 대체 이름 추가) :

puppet cert generate $(hostname -f) --dns_alt_names=$(hostname -f),puppet

puppetserver를 다시 시작하여 새 인증서를 사용하십시오.

service puppetserver restart

답변

  • 먼저 certdnsnames콜론으로 구분 된 목록입니다.
  • 둘째, 인증서에 서명 할 때 포함되지 않은 호스트 이름을 사용하여 에이전트가 마스터에 접속하고 있기 때문에이 오류가 발생합니다.
    http://docs.puppetlabs.com/guides/troubleshooting.html

답변

에 따르면

puppet agent --genconfig

콜론으로 구분 된 ( “:”아님 “;”) 목록을 사용해야합니다.

그러니까

certdnsnames = 'puppet:puppet.local:myname.dyndns.org:hivemind.local'

HTH


답변

꼭두각시 서버 인증서에 SAN 항목을 추가하려면 다음을 사용하십시오.

systemctl stop puppetserver
puppetserver ca setup --subject-alt-names $(hostname -f),puppet
systemctl start puppetserver

기존 인증서도 삭제해야 할 수도 rm -rf $(puppet master --configprint ssldir)있습니다.


답변