1PUPPET-CERTIFICATE(8) Puppet manual PUPPET-CERTIFICATE(8)
2
3
4
6 puppet-certificate - Provide access to the CA for certificate manage‐
7 ment.
8
10 puppet certificate action [--terminus _TERMINUS] [--extra HASH]
11 --ca-location LOCATION
12
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
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
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
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
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)