@jpmens
The design I *want* to get to in order to roll this out as non-experimental combines the tpm-bound ssh keys with short-lived (<24hr) SSH certificates, alongside device attestation (to prove a given ssh key is on a tpm, no matter who or when it was generated).
The background flow I'm working on, for which we *almost* have all the tooling, is: every day a script notices the user doesn't have a valid ssh certificate, and so generates a new CSR for the key, alongside an attestation statement. The SSH CA validates the attestation statement is correct for the laptop that that user was issued (and API calls out to the Device Management System to check that the device is compliant with all our policies) before issuing the certificate. Access to the CA is gated behind an SSO login, which enforces a daily check that the user is still valid and hasn't been suspended.
Thus the UX for the end user is minimally changed (one SSO login gets enforced per day, but otherwise they ssh and git in the manner they're used to, without them needing to change any behaviour - in fact as they never have to worry about copying their SSH publeys around, it's likely easier for the end user overall); whilst for us in Sysadmin we get loads of upsides:
1. No longer having to care about managing and clearing out authorized_keys files as they don't exist thanks to the certs
2. Guarantees that a given ssh login was initiated from a device that has our security policies applied to it
3. the knowledge that if we have to suspend a user for any reason, all their SSH access will be gone either as soon as the device management system locks their computer out (if their computer is online) or as soon as the ssh certificate expires if not
4. We can leverage the TPMs ability to measure boot to stop a user even starting the process of getting access if the operating system or the system boot settings have been tampered with.
It's definitely a system with a bunch of complexity, but when you're in an Organisation context it has a lot of nice upsides as a trade off for that.