It's worth noting that private ssh keys work without 2FA and all password logins are required to use 2FA. That's the security policy I was looking for.
Setting up pam_url+totpcgi is bit involved, and it doesn't come prepackaged for Debian. But it certainly shouldn't be insurmountable. Here is link to their installation guide:
Is it straightforward to implement 2FA with Authenticator or similar on a Debian box?