Linux – Can’t run puppet device (Could not request certificate: Could not write to… privatekeydir)

centoslinuxpuppetpuppet-agentpuppetmaster

I setup puppet 4.3 on a Centos 7 server.
This is a puppet master that is also running puppet agent.
I am attempting to setup Puppet Device to configure a router.
when I attempt to run puppet device I see this error:

sudo puppet device --verbose
Info: starting applying configuration to r1 at telnet://r1/
Info: Creating a new SSL key for r1
Error: Could not request certificate: Could not write /opt/puppetlabs/puppet/cache/devices/r1/ssl/private_keys/r1.pem to privatekeydir: Permission denied @ rb_sysopen - /opt/puppetlabs/puppet/cache/devices/r1/ssl/private_keys/r1.pem

When I run puppet device sans sudo I see this error:

puppet device --verbose
Error: No device found in /home/<MEEEE>/.puppetlabs/etc/puppet/device.conf

Here is my /etc/puppetlabs/puppet/device.conf

[r1]
type cisco
url telnet://puppet:123456@r1/

Here is my /etc/puppetlabs/puppet/puppet.conf

[master]
vardir = /opt/puppetlabs/server/data/puppetserver
logdir = /var/log/puppetlabs/puppetserver
rundir = /var/run/puppetlabs/puppetserver
pidfile = /var/run/puppetlabs/puppetserver/puppetserver.pid
codedir = /etc/puppetlabs/code
dns_alt_names = puppetmaster,puppet,puppet.applebank.ny.com,puppetmaster01

[agent]
server = puppetmaster

Best Answer

Somehow permissions must have got messed up. I ran the following which solved the problem:

sudo chown -R puppet:puppet /opt/puppetlabs