puppet-certificate - Provide access to the CA for certificate management.
puppet certificate action [--terminus TERMINUS] [--extra HASH] --ca-location LOCATION
This subcommand interacts with a local or remote Puppet certificate
authority. Currently, its behavior is not a full superset of
cert; specifically, it is unable to mimic puppet cert's "clean" option,
and its "generate" action submits a CSR rather than creating a
Note that any setting that's valid in the configuration
file is also a valid long argument, although it may or may not be
relevant to the present action. For example,
run_mode are valid
settings, so you can specify
--server <servername>, or
--run_mode <runmode> as an argument.
See the configuration file documentation at
https://docs.puppetlabs.com/puppet/latest/reference/configuration.html for the
full list of acceptable parameters. A commented list of all
configuration options can also be generated by running puppet with
console, but other options such as
dotare sometimes available.
Whether to act on the local certificate authority or one provided by a remote puppet master. Allowed values are 'local' and 'remote.'
This option is required.
Indirector faces expose indirected subsystems of Puppet. These
subsystems are each able to retrieve and alter a specific type of data
(with the familiar actions of
from an arbitrary number of pluggable backends. In Puppet parlance,
these backends are called terminuses.
Almost all indirected subsystems have a
rest terminus that interacts
with the puppet master's data. Most of them have additional terminuses
for various local data models, which are in turn used by the indirected
subsystem on the puppet master whenever it receives a remote request.
The terminus for an action is often determined by context, but occasionally needs to be set explicitly. See the "Notes" section of this face's manpage for more details.
destroy - Delete a certificate.:
puppet certificate destroy [--terminus TERMINUS] [--extra HASH] --ca-location LOCATION host
Deletes a certificate. This action currently only works on the local CA.
find - Retrieve a certificate.:
puppet certificate find [--terminus TERMINUS] [--extra HASH] --ca-location LOCATION host
Retrieve a certificate.
An x509 SSL certificate.
Note that this action has a side effect of caching a copy of the
certificate in Puppet's
generate - Generate a new certificate signing request.:
puppet certificate generate [--terminus TERMINUS] [--extra HASH] --ca-location LOCATION [--dns-alt-names NAMES] host
Generates and submits a certificate signing request (CSR) for the specified host. This CSR will then have to be signed by a user with the proper authorization on the certificate authority.
Puppet agent usually handles CSR submission automatically. This action is primarily useful for requesting certificates for individual users and external applications.
--dns-alt-names NAMES -
A comma-separated list of alternate DNS names for Puppet Server. These are extra
hostnames (in addition to its
certname) that the server is allowed to use when
serving agents. Puppet checks this setting when automatically requesting a
certificate for Puppet agent or Puppet Server, and when manually generating a
puppet cert generate.
In order to handle agent requests at a given hostname (like "puppet.example.com"), Puppet Server needs a certificate that proves it's allowed to use that name; if a server shows a certificate that doesn't include its hostname, Puppet agents will refuse to trust it. If you use a single hostname for Puppet traffic but load-balance it to multiple Puppet Servers, each of those servers needs to include the official hostname in its list of extra names.
Note: The list of alternate names is locked in when the server's certificate is signed. If you need to change the list later, you can't just change this setting; you also need to:
puppet cert clean <NAME>)
puppet agent -t --ca_server <CA HOSTNAME>to request a new certificate
puppet cert sign --allow-dns-alt-names <NAME>).
puppet agent -t --ca_server <CA HOSTNAME>to retrieve the cert.
To see all the alternate names your servers are using, log into your CA server
puppet cert list -a, then check the output for
(alt names: ...).
Most agent nodes should NOT have alternate names; the only certs that should
have them are Puppet Server nodes that you want other agents to trust.
info - Print the default terminus class for this face.:
puppet certificate info [--terminus TERMINUS] [--extra HASH] --ca-location LOCATION
Prints the default terminus class for this subcommand. Note that different run modes may have different default termini; when in doubt, specify the run mode with the '--run_mode' option.
list - List all certificate signing requests.:
puppet certificate list [--terminus TERMINUS] [--extra HASH] --ca-location LOCATION
List all certificate signing requests.
An array of #inspect output from CSR objects. This output is currently messy, but does contain the names of nodes requesting certificates. This action returns #inspect strings even when used from the Ruby API.
sign - Sign a certificate signing request for HOST.:
puppet certificate sign [--terminus TERMINUS] [--extra HASH] --ca-location LOCATION [--[no-]allow-dns-alt-names] host
Sign a certificate signing request for HOST.
Whether or not to accept DNS alt names in the certificate request
A string that appears to be (but isn't) an x509 certificate.
Request a certificate for "somenode" from the site's CA:
$ puppet certificate generate somenode.puppetlabs.lan --ca-location remote
Sign somenode.puppetlabs.lan's certificate:
$ puppet certificate sign somenode.puppetlabs.lan --ca-location remote
This subcommand is an indirector face, which exposes
destroy actions for an indirected subsystem of Puppet. Valid termini for
this face include:
Copyright 2011 by Puppet Inc. Apache 2 license; see COPYING