DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
Skip to content
World desk11 min

How to Manage Puppet Certificates: Sign, Revoke, Clean, and Regenerate Safely

A practical Puppet 6+ guide to certificate authority operations: approve CSRs, revoke compromised identities, clean CA and agent SSL files, regenerate certificates, and choose a safe CA architecture.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Puppet certificate management is a certificate-authority (CA) lifecycle: inspect a node’s certificate-signing request (CSR), approve and sign the expected identity, revoke certificates that must no longer authenticate, and clean CA and agent SSL files when a node is reissued or decommissioned. On Puppet 6 and later, use puppetserver ca on the primary server and puppet ssl on agents; the former puppet cert command was removed in Puppet 6.

The safe sequence is to verify the certname and host ownership before signing, keep autosigning tightly controlled, revoke compromised credentials immediately, and clean both sides before regenerating an agent certificate. Puppet’s official documentation summarizes the purpose of this system: “Puppet uses certificates to verify the identity of nodes.”

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What Puppet certificates do

A Puppet agent does not simply identify itself with a hostname or a shared password. During its first check-in, it creates a private key and submits a CSR to the Puppet CA. After an administrator signs that request, the resulting certificate lets the agent prove its identity when it asks the primary server for a catalog. The CA therefore establishes which node name is allowed to act as that node.

The built-in CA is normally hosted by Puppet Server, although Puppet also supports an intermediate CA or an external CA when an organization needs a different trust boundary. Regardless of the CA design, the operational questions are the same: who controls the CA key, how requests are approved, how certificates are revoked, how long certificates live, and how renewal is automated.

Current command split: server CA versus agent SSL

Task Run on Command family Purpose
List pending CSRs Primary Puppet Server puppetserver ca list Shows certificate requests waiting for approval.
Sign an approved request Primary Puppet Server puppetserver ca sign --certname <name> Issues a certificate for the exact certname after identity review.
Revoke a certificate Primary Puppet Server puppetserver ca revoke --certname <name> Invalidates the certificate so it can no longer authenticate.
Clean CA-side state Primary Puppet Server puppetserver ca clean --certname <name> Revokes listed certificates and removes their associated CA certificate files.
Remove local SSL material Puppet agent node puppet ssl clean Deletes the node’s local SSL material so the next run creates a new key and CSR.

Keep the two command families distinct. puppetserver ca changes the CA’s records and trust decisions; puppet ssl changes the files held by one agent. Reissuing a node normally requires work on both sides.

Before changing a certificate

Certificate operations can disconnect an agent or invalidate a production identity. Establish the intended change before running a command.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Record the node’s current certname exactly, including capitalization and punctuation.
  • Confirm that the request belongs to the expected host and owner. A familiar-looking name is not proof of ownership.
  • Identify whether the node is new, being rebuilt, being renamed, decommissioned, or suspected of compromise.
  • Schedule changes to a primary-server certificate because agents cannot connect while the server certificate is being replaced.
  • Capture the current certificate and request state in your change record so an auditor can see what was approved, revoked, or reissued.
  • Use a certificate lifetime that matches your rotation and incident-response policy rather than accepting an unexamined default.

How to sign a Puppet agent certificate

Signing is an approval step, not a routine cleanup command. Do it only after matching the CSR to a real node.

  1. Generate or locate the request. A new agent submits a CSR during its first check-in. If the node has just been cleaned, run the agent once to submit a fresh request, then stop and approve it before relying on a normal catalog run.
  2. List pending requests on the primary server. Run puppetserver ca list. Read the certname and any request details shown by your Puppet Server release.
  3. Validate the identity. Compare the certname with your inventory, the machine that initiated the request, and the change ticket. Reject or investigate an unexpected name; do not sign merely because a CSR is present.
  4. Sign the exact request. Run puppetserver ca sign --certname <name>, replacing <name> with the reviewed certname. Puppet Server records the issued certificate in the CA state.
  5. Set an intentional lifetime when required. The sign operation supports a TTL. A deployment with frequent rotation may choose a shorter lifetime than a stable, manually managed estate. Apply the value supported by the exact Puppet Server release and document the policy that justified it.
  6. Run the agent again. Once the certificate is signed, the node can authenticate and request its catalog. Check the run output and server logs for a successful TLS connection.

Why unrestricted autosigning is risky

Autosigning removes the manual approval gate. That can be acceptable only when a controlled enrollment policy, reliable inventory, and an independent way to authenticate the joining host are already in place. A broad autosign rule can turn possession of network access into permission to obtain a certificate for an arbitrary node name. Keep autosigning narrow, reviewable, and limited to names or workflows that your organization can verify.

Certificate lifetime, renewal, and rotation

A certificate’s TTL determines when the credential must be replaced; it does not replace an approval process. Align TTLs with the organization’s rotation schedule and incident-response requirements. Shorter lifetimes reduce the window in which a leaked key remains useful but increase renewal activity and the chance that an unavailable CA interrupts runs. Longer lifetimes reduce routine churn but leave more time for a compromised credential to be abused.

Document who monitors expiry, how renewal is triggered, and what happens if the primary server is unavailable. Test renewal before shortening lifetimes across a large fleet. A CA design that looks secure on paper can still cause outages if agents cannot reach it during renewal.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Revoke a certificate that must no longer authenticate

Use revocation when a key may be compromised, a node has been retired, or the identity must immediately lose trust. Revocation is a trust decision: it marks the certificate invalid for authentication.

  1. Confirm the affected certname and the reason for the emergency or retirement.
  2. On the primary server, run puppetserver ca revoke --certname <name>.
  3. Record the time, operator, certname, and incident or change reference.
  4. Remove or isolate the node itself if compromise is suspected; revoking the certificate does not clean the host or erase its private key.
  5. When the node will be rebuilt or reissued, continue with the CA-side and agent-side cleanup procedure below.

Revocation and cleanup are different. Revocation invalidates trust. It does not necessarily remove every CA-side file or delete the agent’s local key and certificate.

Clean CA files when decommissioning or reissuing a node

Use puppetserver ca clean --certname <name> when the CA-side certificate files should be removed as part of decommissioning or a controlled reissue. The clean operation revokes each listed certificate and deletes its associated CA certificate file. If a signed certificate does not exist, Puppet reports that condition instead of treating it as a fatal request error.

Cleaning is appropriate after you have confirmed that the old identity should not return. Do not use it as a substitute for investigating an unexpected CSR, and do not clean a production identity merely to silence an authentication error.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Regenerate an agent certificate

When an agent’s private key is lost, the node is rebuilt, its certname changes, or the old certificate must be replaced, clean the old identity on the server and then create a new request on the node.

  1. Decide whether the old certificate is still trusted. For a compromise or retirement, revoke it first. For a planned reissue, ensure no old process will continue using the identity.
  2. Clean the CA-side files. On the primary server, run puppetserver ca clean --certname <name>. This removes the associated CA certificate file after revocation.
  3. Clean the node’s SSL directory. On the agent, run puppet ssl clean. This removes local SSL material, including the old certificate and key managed by Puppet.
  4. Submit a new CSR. Run the Puppet agent so it generates fresh SSL material and requests a certificate. The run will remain unable to obtain a catalog until the request is approved.
  5. Inspect and sign the new request. On the primary server, run puppetserver ca list, verify the new request’s identity, and sign it with puppetserver ca sign --certname <name>.
  6. Complete a normal run. Run the agent again and verify that it authenticates, receives its catalog, and completes without certificate errors.

Common reissue mistake: cleaning only one side

If the server still has the old CA record, a fresh agent request can conflict with the existing identity. If the agent still holds its old key and certificate, cleaning the server alone does not create a genuinely new credential. Treat reissue as a coordinated two-sided operation: CA-side cleanup followed by agent-side puppet ssl clean, a new CSR, approval, and a successful run.

Regenerate the primary Puppet Server certificate

Replacing the certificate used by the primary server affects every agent that connects to it. Puppet’s documented order is deliberate:

  1. Clean the primary server’s existing certificate from the CA state.
  2. Run puppet ssl clean on the primary server to remove its local SSL material.
  3. Stop Puppet Server using the service manager for your installation.
  4. Generate a replacement certificate using the certificate-generation procedure for your Puppet release. If the server is reached through additional names, include the required DNS subject-alternative names (SANs) during generation.
  5. Start Puppet Server again.
  6. Verify the replacement certificate, certname, SANs, and service logs before allowing normal agent runs.

Agents cannot connect during the interruption, so perform this work in a maintenance window. A server certificate change is not the same as regenerating one agent: plan communication, confirm that the new name and trust chain match the deployment, and keep a recovery path if validation fails.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

SANs and authorization extensions: security controls, not conveniences

Signing requests that contain SANs or authorization extensions is disabled by default. An administrator can enable these features in ca.conf, but doing so changes what a CSR can claim.

A SAN can let one certificate be accepted for another node name. Puppet warns that allowing SANs can enable an agent to impersonate another node. Enable SAN or authorization-extension signing only for a defined requirement, and review every CSR carrying those fields before signing. The review should establish why the extra identity is needed, who controls each name, and whether the certificate’s permissions are limited to that purpose.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshooting certificate operations

The CSR is not listed

Check that the agent actually ran after its SSL material was cleaned and that it is contacting the intended primary server. Confirm the certname used by the node and search the Puppet Server logs for the request. A request cannot be signed until it exists in the CA’s pending list.

The request has the wrong certname

Do not sign it and hope to correct the name later. An incorrect certname creates the wrong identity. Fix the node configuration or rebuild its SSL state, submit a new CSR with the intended name, and review that request before signing.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The agent still receives an authentication error after reissue

Check that the old certificate was revoked or cleaned on the CA, that puppet ssl clean removed the local material, and that the new CSR was signed. Verify that the agent is using the newly issued certificate rather than a stale copy and that Puppet Server has been restarted if the change involved the primary-server certificate.

Runs fail during a primary-server certificate change

That interruption is expected while Puppet Server is stopped. Wait until the replacement certificate has been generated, the service restarted, and the certificate and logs verified. Do not interpret connection failures during the maintenance window as evidence that every agent needs a new certificate.

Best Value

A clean command reports that a signed certificate does not exist

The clean operation reports nonexistent signed certificates rather than treating them as a fatal request error. Confirm the certname and inspect the remaining CA state. If the node still needs access, submit and approve a new CSR instead of assuming the absent file represents a valid credential.

Choosing a CA architecture

Puppet’s built-in CA is convenient when the Puppet Server team can own the CA key, approval workflow, availability, and renewal process. More regulated or segmented environments may use an intermediate CA or an external CA. The choice is architectural, not a command-line preference.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Decision axis Built-in Puppet CA Intermediate CA External CA
CA-key control Managed with the Puppet Server deployment. Root trust can remain separate while Puppet signs through an intermediate. Held and governed by the external PKI owner.
Trust boundary Centered on Puppet’s own CA state. Separates root authority from Puppet’s issuing function. Uses an organization-wide or service-specific PKI boundary.
Approval and revocation Handled with Puppet Server CA commands and procedures. Split between Puppet operations and the parent CA policy. Must align Puppet enrollment and revocation with the external CA’s APIs and policy.
Lifetime and renewal Configured around Puppet’s signing and agent workflows. Requires coordination between intermediate and Puppet lifetimes. Depends on the external CA’s automation and renewal interfaces.
Outage behavior Depends on availability of the Puppet Server CA. Adds dependencies on the parent trust chain. Depends on external-CA availability, integration, and cached credentials.
Auditability Use Puppet CA state, logs, and change records. Correlate Puppet records with parent-CA records. Use the external CA’s audit trail plus Puppet’s enrollment records.
SAN and authorization extensions Disabled by default; enabling requires careful CSR review. Must be allowed consistently across the chain. Must be supported and constrained by the exact CA integration.

Verify compatibility against the exact Puppet release before adopting an intermediate or external design. Key custody, certificate policy, renewal automation, availability, and incident response all change when the CA boundary moves outside Puppet Server.

Operational checklist

  • Use puppetserver ca list to inspect requests before signing.
  • Match every certname to an expected host and owner.
  • Use puppetserver ca sign --certname <name> only after that review.
  • Set certificate TTLs according to a documented rotation and response policy.
  • Revoke compromised or retired certificates with puppetserver ca revoke --certname <name>.
  • Use puppetserver ca clean --certname <name> when CA files must be removed during decommissioning or reissue.
  • Run puppet ssl clean on the affected agent before requesting a replacement certificate.
  • Sign the new CSR before expecting a normal catalog run.
  • Treat SAN and authorization-extension requests as exceptional and review them individually.
  • Schedule primary-server certificate replacement and verify the service before resuming agents.
  • Keep approvals, revocations, TTL decisions, and certificate changes in an auditable record.

What replaced puppet cert?

For Puppet 6 and later, the old puppet cert command is no longer the interface to use. Server-side CA administration moved to puppetserver ca, while agent-side certificate and SSL cleanup uses puppet ssl. Update runbooks, shell scripts, and operator training rather than attempting to install the removed command.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.