ssh

  • An ssh certificate authority, and the key’s own backup

    A certificate authority that removes eleven authorized_keys files and creates one key that must not be lost. Concentrating eleven files into one key is the point of a…

  • An ssh certificate authority, one year on

    A year of eight-hour certificates rather than an authorized_keys file, and the operational reality of it. The mid-incident expiry is the failure mode that theory does not predict,…

  • The VPS that had been running since 2019

    A host provisioned in 2019, upgraded in place three times, and a provisioning script that has never been run against an empty machine.

  • An ssh certificate instead of an authorized_keys file

    Adding a person meant editing a file on eleven hosts, and removing one meant remembering to. The eight-hour validity is what makes revocation mostly unnecessary — a departed…

  • Four credentials that existed on one laptop

    An inventory of what a second person would need, produced by asking one person to stop using their own machine for a day. The DNS account is the…

  • Rebuilding the deploy as something a stranger could run

    A deploy that one person can run, and a holiday booked for August. A runbook of 22 steps, four of which say “check it looks right”.

  • An ssh config that made a runbook one word long

    A runbook step that read “ssh to the app server, jumping through the bastion, as the deploy user, with the right key” is a config entry, not an…

  • fail2ban after moving ssh off 22, and why both

    Moving the port dropped the log noise by about 99%, which is the argument for doing it and not an argument for stopping there. A non-standard port is…

  • Secrets that are not in the repository and not in the image

    The database password was in the repository, then in the image, then in an environment variable readable by anything that could run ps. Where it went next.

  • SSH certificates expire on their own

    Managing authorized_keys across thirty servers means a configuration run to add a colleague and another to remove one, and the removal is the one that gets forgotten. Access…