O erro ocorre porque o cliente, por padrão, conecta-se ao nome do host do servidor 'puppet', mas o certificado apresentado não possui 'puppet' como assunto ou como um atributo SubjectAltName.
Para corrigir isso, você pode (escolher um):
-
em vez de inicializar o certificado do seu puppetmaster executando
puppetd
, inicialize-o executandopuppetmasterd
- isso fará com que o nome do sujeito do certificado inclua "fantoche". -
em vez de deixar as coisas ao acaso, você pode usar
puppetca --generate --certdnsnames puppet:puppet.mydomain.com web1.xx.xx.xx.net
- a opção certdnsnames especifica uma lista de SubjectAltNames que será incluída no certificado; ele deve ter uma lista separada por dois-pontos de qualquer nome que um cliente usaria para entrar em contato com o servidor. -
em vez de executar apenas
puppetd --test
no cliente, executepuppetd --test --server=web1.xx.xx.xx.net
para que o nome do servidor ao qual o cliente se conecta seja aquele que realmente existe no certificado apresentado pelo servidor.
Confira a excelente entrada do blog da masterzen para mais soluções de problemas: Puppet SSL Explained