Autoacceptar todos os Certs no Puppet Master

1

Existe uma maneira de eu definir um mestre de marionetes para aceitar automaticamente todas as certs de clientes (então eu não tenho que criar puppetca no master a cada vez)?

    
por Kyle Brandt 02.11.2012 / 18:25

3 respostas

5

Crie um arquivo /etc/puppet/autosign.conf no mestre, contendo os nomes de domínio dos hosts para os quais você deseja que os certificados sejam assinados automaticamente.

Exemplo:

www.example.com
*.example.org
*
    
por 02.11.2012 / 18:31
3
echo "*" > /etc/puppet/autosign.conf

Ou você pode ser um pouco mais seguro (mas não realmente, já que um cliente define seu próprio nome de certificado; alguém que queira acesso ilegítimo ao seu mestre de marionetes só precisaria saber qual nome falsificar) limitando-o a um domínio específico :

echo "*.stackexchange.com" > /etc/puppet/autosign.conf
    
por 02.11.2012 / 18:30
2

Pessoalmente, não sou fã de assinar automaticamente esses certificados pelas razões já descritas.

Eu montei um pequeno script iniciado durante meus kickstarts que executa o seguinte:

echo Configuring local Puppet instance...
/usr/sbin/puppetd --waitforcert 900
sleep 10
echo We will use $HOSTNAME for all future requests...
echo Running server side script..
chvt 1
ssh -q -t $USERNAME@puppetmaster auto_client.sh $HOSTNAME
chvt 6

auto_client.sh

#! /bin/bash
NEWHOST=$1

sudo puppetca --sign $NEWHOST

if ! ( cat /etc/puppet/manifests/* | grep "$NEWHOST" )
then
    NHFILE=/etc/puppet/manifests/temp.pp
    echo node \'$NEWHOST\' >>  $NHFILE
    echo  { >> $NHFILE
    echo    include linux_base >>  $NHFILE
    echo  } >> newhost.cfg >>  $NHFILE
fi

Pensei seriamente em fazer algo como usar um certificado SSL armazenado em um pen drive para a conexão SSH, mas isso se mostrou mais conveniente.

    
por 02.11.2012 / 19:02

Tags