Szukałem online i widzę, że kilka innych osób miało ten problem na innych listach / tablicach. Kiedy uruchamiam sudo puppetd --waitforcementert 60 - test po raz drugi po podpisaniu certyfikatu na serwerze głównym, pojawia się ten błąd -
notice: Got signed certificate
warning: Certificate validation failed; considering using the certname configuration option
err: /File[/var/lib/puppet/lib]: Failed to generate additional resources during transaction: Certificates were not trusted: hostname was not match with the server certificate
Nie jestem pewien, czy rozumiem na czym polega problem i jak go naprawić. Dlatego pytam.
Ustawiam marionetkę na dwóch serwerach w mojej sieci LAN. Puppetmaster nosi nazwę „puppet”, a drugi serwer nosi nazwę „puppetclient”. Umieszczam marionetkę w / etc / hosts na puppetclient.
uruchomienie nazwy hosta -f wyświetli marionetkę i pupperclient na odpowiednich serwerach. Nie jestem pewien, co jeszcze spróbować. Czy ktoś ma jakiś wgląd?
źródło
rm -rf /var/lib/puppet/ssl
a następnie ponownie uruchomiłem kukiełkaJeśli chcesz używać DNS CNAME dla swojego puppetmaster, możesz uruchomić puppetmaster za pomocą:
dzięki czemu puppetmaster będzie używać
cname.domain.org
zamiast domyślnej w pełni kwalifikowanej nazwy domeny.źródło
Wydaje się,
--certname cname.domain.org
że opcja flagi zrobiła dla mnie lewę (na Amazon EC2)źródło
możesz zapytać facter (facter fqdn), jaka jest nazwa hosta i sprawdzić, czy jest to zgodne z oczekiwaniami. Zobacz także (domyślnie) / var / lib / puppet / ssl / i zobacz, jak wyglądają certyfikaty, jeśli nie mają poprawnych nazw hostów, które mogą być twoim problemem. Ponieważ marionetka wykonuje całą komunikację przez HTTPS, jest dość wrażliwa na rozdzielczość i nazewnictwo hosta.
źródło
Przed zainstalowaniem Puppet na wyznaczonych klientach i serwerze sprawdź plik /etc/resolv.conf i sprawdź, czy pierwszy wpis domeny w wierszu „search” to domena, pod którą ma działać Puppet. Na przykład:
wyszukaj my.puppetdomain.com my.public.domain.com
serwer nazw 192.168.1.1 serwer nazw xxx.xxx.1.1
Podczas fazy instalacji Puppet serwer Puppet wygeneruje swoje certyfikaty na podstawie pierwszego wpisu wyszukiwania w pliku /etc/resolv.conf. Przekonałem się o tym na własnej skórze. Jeśli zobaczysz błędy związane z certyfikatem w dowolnym węźle marionetkowym, wykonaj następujące czynności:
1) Edytuj plik /etc/resolv.conf i sprawdź, czy pierwsza domena wymieniona w wierszu „search” odzwierciedla domenę, w której ma działać Puppet.
2) Odinstaluj marionetkę (pozostaw katalog / etc / puppet nietknięty).
3) rm -rf / var / lib / puppet
4) Ponownie zainstaluj Puppet (spowoduje to wygenerowanie nowego katalogu / var / lib / puppet).
5) Jeśli wykonujesz to na serwerze Puppet, uruchom / usr / sbin / puppetmasterd --mkusers (alternatywnie, uruchom / usr / local / sbin / puppetmasterd --mkusers ). Spowoduje to wygenerowanie wszystkich wymaganych plików w katalogu / var / lib / puppet, w tym nowych certyfikatów wewnętrznych przy użyciu prawidłowej nazwy domeny.
6) Jeśli wykonujesz to na kliencie Puppet, uruchom Puppet w trybie pełnym, z włączoną flagą --waitforceert : puppetd -server .puppetdomain.com --waitforceert 60 - test Ten krok wyśle żądanie certyfikatu do serwera Puppet.
7) Na serwerze Puppet wypisz listę oczekujących certyfikatów:
puppetca --list
Powinieneś zobaczyć nazwę hosta klienta Puppet wysyłającego żądanie:
puppetclient1.puppetdomain.com
8) Na serwerze Puppet, podpisz certyfikat klienta Puppet, który znajduje się na liście:
puppetca - sign puppetclient1.puppetdomain.com
To koniec.
HTH ....
źródło
Czy zarówno kukiełka, jak i klient kukiełkowy rozwiązują się w systemie DNS? Jeśli nie, możesz edytować plik / etc / hosts, aby zmapować adresy IP i nazwy hostów. IIRC, powinieneś to zrobić tylko na kliencie.
źródło