![Puppet이 Foreman에게 사실을 보낼 수 없음 - "tlsv1 경고 알 수 없는 CA"](https://rvso.com/image/658743/Puppet%EC%9D%B4%20Foreman%EC%97%90%EA%B2%8C%20%EC%82%AC%EC%8B%A4%EC%9D%84%20%EB%B3%B4%EB%82%BC%20%EC%88%98%20%EC%97%86%EC%9D%8C%20-%20%22tlsv1%20%EA%B2%BD%EA%B3%A0%20%EC%95%8C%20%EC%88%98%20%EC%97%86%EB%8A%94%20CA%22.png)
최근에 업데이트했어요카텔로에게2.2그리고십장지금은1.8.1, 따라서 Puppet이 이제 Foreman과 접촉할 수 없는 업그레이드 어딘가에 나타납니다.
> [root@virt5 ~]# puppet agent --test info:
> Retrieving plugin <snipped>
> err: Could not retrieve catalog from remote server: Error 400 on
> SERVER: Failed when searching for node virt5: Failed to find virt5.
> via exec: Execution of '/etc/puppet/node.rb virt5' returned 1:
> warning: Not using cache on failed catalog err: Could not retrieve
> catalog; skipping run
내 puppetmaster에서 동일한 명령을 실행하면 다음이 표시됩니다.
[root@foreman certs]# /etc/puppet/node.rb virt5
Foreman에게 사실을 보낼 수 없습니다. SSL_connect 반환=1 errno=0 상태=SSLv3 읽기 서버 세션 티켓 A: tlsv1 경고 알 수 없음 ca
복사하려고 했는데/etc/pki/katello/certs/katello-default-ca.crthttpd에서 사용하는 인증서/etc/pki/ca-trust/source/anchors/그런 다음 실행했지만 update-ca-trust extract
차이가 없는 것 같습니다.
나는 어리석은 것을 놓치고 있다고 확신합니다. 그것이 무엇인지 잘 모르겠습니다.
답변1
여기서 내가 본 한 가지 실수(문서에서 더 명확해야 함)는 Katello가 Foreman과 같은 Puppet 인증서를 사용한다고 믿고 있지만 그렇지 않다는 것입니다.
Foreman/Katello 호스트에서 다음을 실행합니다.
capsule-certs-generate --capsule-fqdn "mycapsule.example.com"\
--certs-tar "~/mycapsule.example.com-certs.tar"
mycapsule.example.com은 다른 Puppet 마스터입니다.
해당 타르볼의 압축을 풀고 "puppet-client" 인증서 RPM을 Puppet 마스터에 복사한 후 설치하세요.
일부 파일을 복사하십시오.
cp /etc/pki/katello-certs-tools/certs/*-puppet-client.crt /etc/puppet/foreman.crt
cp /etc/pki/katello-certs-tools/private/*-puppet-client.key /etc/puppet/foreman.key
cd /etc/puppet
wget https://katello.mydomain.net/pub/katello-default-ca.crt
chown puppet /etc/puppet/foreman.{crt,key} /etc/puppet/katello*
/etc/puppet/foreman.yaml을 다음과 같이 구성하십시오.
:url: "https://katello.mydomain.net"
:ssl_ca: "/etc/puppet/katello-default-ca.crt"
:ssl_cert: "/etc/puppet/foreman.crt"
:ssl_key: "/etc/puppet/foreman.key"
그렇게 되길 바랍니다.