Following are steps on how to install and configure a puppet client:

rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm
yum -y install puppet
vim /etc/puppet/puppet.conf

Following are example configures: [main]

# The Puppet log directory. # The default value is '$vardir/log'. logdir = /var/log/puppet # Where Puppet PID files are kept. # The default value is '$vardir/run'. rundir = /var/run/puppet # Where SSL certificates are kept. # The default value is '$confdir/ssl'. ssldir = $vardir/ssl #puppet server westcoast

dns name server = li823-33.members.linode.com

#your client server dns name

[agent]

# associated with the retrieved configuratiion. Can be loaded in

# option. # The default value is '$confdir/classes.txt'. classfile = $vardir/classes.txt

onetime = true # Where puppetd caches the local configuration. An # extension indicating the cache format is added automatically. # The default value is '$confdir/localconfig'. localconfig = $vardir/localconfig

After editing the puppet.conf, run:

puppet agent --test --debug

Then

Ssh to puppet master server (westcoast server: li823-33.members.linode.com), run:

puppet cert list -all

we will see the client's certificate has not been signed yet (no “+” in front):

"<YOUR CLIENT HOSTNAME>" (SHA256) FA:42:85:8A:27:C8:DE:39:AC:20:6A:D5:F5:C7:B2:64:12:B5:FB:93:31:9B:27:DC:28:61:45:0A:F9:8E:C0:57

Then we run:

puppet cert sign <YOUR CLIENT HOSTNAME>

to authorize the client certificate.

List the certificates again to see the client's certificate is authorized.

In the client you can run:

puppet agent --test --debug

again to see the client could communicate with the server.