1PUPPET-CERTIFICATE(8)            Puppet manual           PUPPET-CERTIFICATE(8)
2
3
4

NAME

6       puppet-certificate  -  Provide access to the CA for certificate manage‐
7       ment.
8

SYNOPSIS

10       puppet  certificate  action  [--terminus  _TERMINUS]   [--extra   HASH]
11       --ca-location LOCATION
12

DESCRIPTION

14       This  subcommand  interacts  with  a local or remote Puppet certificate
15       authority. Currently, its behavior is not a  full  superset  of  puppet
16       cert; specifically, it is unable to mimic puppet cert´s "clean" option,
17       and its "generate" action submits a CSR rather than creating  a  signed
18       certificate.
19

OPTIONS

21       Note  that any setting that´s valid in the configuration file is also a
22       valid long argument, although it may or may  not  be  relevant  to  the
23       present action. For example, server and run_mode are valid settings, so
24       you can specify --server <servername>, or --run_mode  <runmode>  as  an
25       argument.
26
27       See    the    configuration    file   documentation   at   https://pup
28       pet.com/docs/puppet/latest/configuration.html  for  the  full  list  of
29       acceptable  parameters.  A  commented list of all configuration options
30       can also be generated by running puppet with --genconfig.
31
32       --render-as FORMAT
33              The format in which to render output. The  most  common  formats
34              are  json, s (string), yaml, and console, but other options such
35              as dot are sometimes available.
36
37       --verbose
38              Whether to log verbosely.
39
40       --debug
41              Whether to log debug information.
42
43       --ca-location LOCATION
44              Whether to act on the local certificate authority  or  one  pro‐
45              vided  by a remote puppet master. Allowed values are ´local´ and
46              ´remote.´
47
48              This option is required.
49
50       --extra HASH
51              A terminus can take additional arguments to  refine  the  opera‐
52              tion,  which  are  passed  as an arbitrary hash to the back-end.
53              Anything passed as the extra value is just send  direct  to  the
54              back-end.
55
56       --terminus _TERMINUS
57              Indirector  faces  expose indirected subsystems of Puppet. These
58              subsystems are each able to retrieve and alter a  specific  type
59              of  data  (with  the familiar actions of find, search, save, and
60              destroy) from an arbitrary number of pluggable backends. In Pup‐
61              pet parlance, these backends are called terminuses.
62
63              Almost  all  indirected  subsystems  have  a  rest terminus that
64              interacts with the puppet master´s data. Most of them have addi‐
65              tional  terminuses  for  various local data models, which are in
66              turn used by the indirected subsystem on the puppet master when‐
67              ever it receives a remote request.
68
69              The  terminus  for an action is often determined by context, but
70              occasionally needs to be set explicitly. See the "Notes" section
71              of this face´s manpage for more details.
72

ACTIONS

74       ·   destroy - Delete a certificate.: SYNOPSIS
75
76           puppet  certificate  destroy  [--terminus _TERMINUS] [--extra HASH]
77           --ca-location LOCATION host
78
79           DESCRIPTION
80
81           Deletes a certificate. This action  currently  only  works  on  the
82           local CA.
83
84           RETURNS
85
86           Nothing.
87
88       ·   find - Retrieve a certificate.: SYNOPSIS
89
90           puppet  certificate  find  [--terminus  _TERMINUS]  [--extra  HASH]
91           --ca-location LOCATION host
92
93           DESCRIPTION
94
95           Retrieve a certificate.
96
97           RETURNS
98
99           An x509 SSL certificate.
100
101           Note that this action has a side effect of caching a  copy  of  the
102           certificate in Puppet´s ssldir.
103
104       ·   generate - Generate a new certificate signing request.: SYNOPSIS
105
106           puppet  certificate  generate [--terminus _TERMINUS] [--extra HASH]
107           --ca-location LOCATION [--dns-alt-names NAMES] host
108
109           DESCRIPTION
110
111           Generates and submits a certificate signing request (CSR)  for  the
112           specified host. This CSR will then have to be signed by a user with
113           the proper authorization on the certificate authority.
114
115           Puppet agent usually handles  CSR  submission  automatically.  This
116           action is primarily useful for requesting certificates for individ‐
117           ual users and external applications.
118
119           OPTIONS --dns-alt-names NAMES - A comma-separated list of alternate
120           DNS names for Puppet Server. These are extra hostnames (in addition
121           to its certname) that the server is allowed  to  use  when  serving
122           agents.  Puppet checks this setting when automatically requesting a
123           certificate for Puppet agent or Puppet Server,  and  when  manually
124           generating  a  certificate  with puppet cert generate. These can be
125           either IP or DNS, and the type should  be  specified  and  followed
126           with a colon. Untyped inputs will default to DNS.
127
128           In  order  to handle agent requests at a given hostname (like "pup‐
129           pet.example.com"), Puppet Server needs a  certificate  that  proves
130           it´s allowed to use that name; if a server shows a certificate that
131           doesn´t include its hostname, Puppet agents will  refuse  to  trust
132           it.  If  you use a single hostname for Puppet traffic but load-bal‐
133           ance it to multiple Puppet Servers, each of those servers needs  to
134           include the official hostname in its list of extra names.
135
136           Note:  The  list  of alternate names is locked in when the server´s
137           certificate is signed. If you need to change the  list  later,  you
138           can´t just change this setting; you also need to:
139
140       ·   On the server: Stop Puppet Server.
141
142       ·   On  the  CA  server: Revoke and clean the server´s old certificate.
143           (puppet cert clean <NAME>) (Note puppet cert  clean  is  deprecated
144           and will be replaced with puppetserver ca clean in Puppet 6.)
145
146       ·   On  the server: Delete the old certificate (and any old certificate
147           signing  requests)  from  the  ssldir  https://puppet.com/docs/pup
148           pet/latest/dirs_ssldir.html.
149
150       ·   On  the  server:  Run  puppet agent -t --ca_server <CA HOSTNAME> to
151           request a new certificate
152
153       ·   On the CA server: Sign the certificate request, explicitly allowing
154           alternate  names  (puppet  cert sign --allow-dns-alt-names <NAME>).
155           (Note puppet cert sign is deprecated and will be replaced with pup‐
156           petserver ca sign in Puppet 6.)
157
158       ·   On  the  server:  Run  puppet agent -t --ca_server <CA HOSTNAME> to
159           retrieve the cert.
160
161       ·   On the server: Start Puppet Server again.
162
163
164
165       To see all the alternate names your servers are using, log into your CA
166       server  and  run  puppet  cert  list -a, then check the output for (alt
167       names: ...). Most agent nodes should NOT have alternate names; the only
168       certs that should have them are Puppet Server nodes that you want other
169       agents to trust.
170
171       RETURNS
172
173       Nothing.
174
175       ·   info - Print the default terminus class for this face.: SYNOPSIS
176
177           puppet  certificate  info  [--terminus  _TERMINUS]  [--extra  HASH]
178           --ca-location LOCATION
179
180           DESCRIPTION
181
182           Prints  the  default  terminus class for this subcommand. Note that
183           different run modes may have different  default  termini;  when  in
184           doubt, specify the run mode with the ´--run_mode´ option.
185
186       ·   list - List all certificate signing requests.: SYNOPSIS
187
188           puppet  certificate  list  [--terminus  _TERMINUS]  [--extra  HASH]
189           --ca-location LOCATION
190
191           DESCRIPTION
192
193           List all certificate signing requests.
194
195           RETURNS
196
197           An array of #inspect output from CSR objects. This output  is  cur‐
198           rently  messy,  but does contain the names of nodes requesting cer‐
199           tificates. This action returns #inspect strings even when used from
200           the Ruby API.
201
202       ·   sign - Sign a certificate signing request for HOST.: SYNOPSIS
203
204           puppet  certificate  sign  [--terminus  _TERMINUS]  [--extra  HASH]
205           --ca-location LOCATION [--[no-]allow-dns-alt-names] host
206
207           DESCRIPTION
208
209           Sign a certificate signing request for HOST.
210
211           OPTIONS --[no-]allow-dns-alt-names - Whether or not to  accept  DNS
212           alt names in the certificate request
213
214           RETURNS
215
216           A string that appears to be (but isn´t) an x509 certificate.
217
218
219

EXAMPLES

221       generate
222
223       Request a certificate for "somenode" from the site´s CA:
224
225       $  puppet  certificate  generate  somenode.puppetlabs.lan --ca-location
226       remote
227
228       sign
229
230       Sign somenode.puppetlabs.lan´s certificate:
231
232       $ puppet certificate sign somenode.puppetlabs.lan --ca-location remote
233

NOTES

235       This subcommand is an indirector  face,  which  exposes  find,  search,
236       save,  and destroy actions for an indirected subsystem of Puppet. Valid
237       termini for this face include:
238
239       ·   ca
240
241       ·   disabled_ca
242
243       ·   file
244
245       ·   rest
246
247
248
250       Copyright 2011 by Puppet Inc. Apache 2 license; see COPYING
251
252
253
254Puppet, Inc.                      April 2020             PUPPET-CERTIFICATE(8)
Impressum