Troubleshooting cloud deployments

If you encounter issues with your PE cloud deployment, try these fixes.

Authentication fails with SSH username or credentials

Cloud providers vary in their support for SSH authentication.

AWS

AWS cloud deployments use cloud-init to provision an SSH key for the puppetadmin user, but disable root SSH access. You must specify a key pair when launching an AWS Marketplace image and connect it with the matching private key. For example, you can run:

aws ec2 run-instance --key-name <KEYPAIR_NAME> …
…
ssh -i ~/.ssh/<KEYPAIR_PRIVATE>.pem puppetadmin@<PRIMARY_HOSTNAME>

Azure

Azure cloud deployments support authenticating with either an SSH key pair or a user name and password. The private key must be the pair of the public key specified when you created the image.

After 60 days, the puppetadmin user account stops working

The default puppetadmin user’s password expires 60 days after the image is created. If you fail to reset the password, the account expires.

To prevent the password from expiring, run chage -E -1 puppetadmin on the primary server.

Agent run fails for non-root users

An agent run initiated by puppetadmin or any other non-root user fails when attempting to access certificates, packages, and services.

Always execute agent runs with super-user privileges:

sudo /usr/local/bin/puppet agent -t

Certificate-signing curl command has incorrect URL

The curl command on the console's Unsigned Certificates page contains a URL that uses your primary server's private hostname or internal DNS name, which won't work for nodes that can't resolve that name.

For example, the command might look like:

curl -k https://puppetmasterv2.liweionmsdnnwoe.xx.internal.cloudapp.net:8140/packages/current/install.bash | sudo bash

Change the private hostname or internal DNS name to the public hostname or externally qualified domain name.