Governed ssh-agent
kovra can stand in as your ssh-agent: it speaks the ssh-agent protocol on a
local socket and signs each authentication challenge in memory with a
custodied keypair. The private key never leaves kovra and
never touches ~/.ssh.
Run kovra as the agent
Section titled “Run kovra as the agent”kovra ssh-agent runs in the foreground, prints the socket to export, and serves
until you stop it. It refuses to start if $SSH_AUTH_SOCK is already set — it
never hijacks another agent:
~ % kovra ssh-agentkovra ssh-agent listening on ~/.vaults/agent.sockExport it in the shells that should use kovra as their agent:
export SSH_AUTH_SOCK=~/.vaults/agent.sock
Serving in the foreground — press Ctrl-C to stop.Windows — coming soon. The same model on Windows Hello + Credential Manager.
Export the socket in another shell and SSH normally; each connection’s challenge is signed by kovra:
export SSH_AUTH_SOCK=~/.vaults/agent.sockssh deploy@serverA high/prod key asks you to bioProve every signature (a quick biometric
check — Touch ID, Windows Hello) and is audited; low/medium keys sign
silently. Which keys the agent will serve is governed by the scope in
<vault-root>/agent.toml, the same scope model agents use.
Or load a key into your existing agent
Section titled “Or load a key into your existing agent”If you’d rather keep your normal agent, kovra ssh-add loads a custodied key into
the running ssh-agent, in memory only — never written to ~/.ssh. Loading a
high/prod key asks you to bioProve it:
kovra ssh-add secret:dev/ssh/deployAn honest limit
Section titled “An honest limit”kovra governs the authentication event — the moment the key proves your identity — not the SSH session that opens afterward. Once a connection is authorized, what happens inside that session is between you and the remote host. kovra makes the key impossible to copy and the use of it attributable; it does not sit in the middle of your shell.