Vilice is a proof of concept. Run it on a box you can afford to lose.

vilice revoke

Remove a named actor's authorized_keys line.

grant recorded before it runs

vilice revoke --help
vilice revoke — Remove a named actor's authorized_keys line

Removes that actor's line from the rights ledger. The next connection
under that key is refused at sshd. Whatever the actor already did stays
in the record — revoking a key withdraws a capability, it does not
rewrite history.

Usage:
  vilice revoke <client>

Examples:
  Withdraw the CI job's key.
    vilice revoke ci

Scope:  grant — the top rung; mints and revokes keys. No scope grants a shell
Record: written before the command runs