Lion Cipher Lab

Replace authorized_keys sprawl with an SSH certificate authority and short-lived certs

Why it matters

Classic SSH access falls apart at scale. Every server keeps its own authorized_keys file, every user's public key has to be copied onto every box, keys never expire on their own, and revoking one person means editing files everywhere at once. On top of that, the first time a client connects it gets the "authenticity of host can't be established" prompt and users just type yes. SSH certificates fix both ends: a certificate authority you control signs short-lived user certs (so a server trusts a person without ever storing their key) and host certs (so the server proves who it is and the…

What you'll learn

Steps in this lab

  1. The problem: authorized_keys does not scale
  2. Stand up two boxes and feel the BEFORE pain
  3. Create the USER CA — the root of trust for people
  4. Tell the server to trust the CA — and delete authorized_keys
  5. Sign a SHORT-LIVED user certificate and log in with no authorized_keys
  6. Prove that short-lived really means short-lived
  7. Kill the TOFU prompt with a HOST certificate
  8. Revocation, and the judgment that matters

Open the full interactive lab →