SSH-TPM-ADD(1)
π SSH-TPM-ADD π
okay so bestie, this is the ssh-tpm-add page from the ssh-tpm-add manual β and honestly? it's giving "tiny tool, huge main character energy." let's get into it π«Ά
β¨ NAME β¨
ssh-tpm-add β the little cutie that adds private keys to the ssh-tpm-agent πΈ
π¦ SYNOPSIS π¦
ssh-tpm-add [-c]
ssh-tpm-add [-c] [PATH ...]
that's it. two whole vibes. pick one π
π DESCRIPTION π
so what does ssh-tpm-add actually do? it adds TPM wrapped private keys to ssh-tpm-agent(1) β and yes, that is the whole personality. any keys you pass as arguments get added to the running agent. no cap, that's the job. β¨
it requires the environment variable SSH_TPM_AUTH_SOCK to point at an active UNIX domain socket with an agent listening on it. like, non-negotiable. no socket, no slay. π
and if you give it no files at all? it'll try to load the default keys for you, which are ~/.ssh/id_ecdsa.tpm and ~/.ssh/id_rsa.tpm. comfy defaults, we love to see it π
π₯ OPTIONS π₯
-cβ says that the added identities should be subject to confirmation before they get used for authentication. the confirmation is performed byssh-tpm-agent(1)viaSSH_ASKPASS. and here's the important part, bestie: a successful confirmation is signaled by a zero exit status from the askpass program, not by any text entered into the requester. this mirrorsssh-add(1) -c. periodt. π
π ENVIRONMENT π
SSH_TPM_AUTH_SOCKβ identifies the path of a unix-domain socket for communication with the agent. π¦
it defaults to /var/tmp/ssh-tpm-agent.sock.
π FILES π
~/ssh/id_rsa.tpm,~/ssh/id_ecdsa.tpmβ contains the ssh private keys used byssh-tpm-agent. they are TPM 2.0 TSS key files and are securely wrapped by the TPM. π
lowkey the cool part: they can be shared publicly, because they can only be used by the TPM they were created on. however, it is probably better to not do that. π just because you can post it doesn't mean you should, yk? vibe check your threat model first.
~/ssh/id_rsa.pub,~/ssh/id_ecdsa.pubβ contains the ssh public keys. these ones you genuinely can share publicly, and they're the same format as the ones created byssh-keygen(1). β
π§ SEE ALSO π§
ssh-add(1), ssh-agent(1), ssh(1), ssh-tpm-keygen(1), ssh-keygen(1)
go read your friends, they're iconic too π
β NOTES, STANDARDS AND OTHER β
the ASN.1 specification for TPM 2.0 key files, for when you're feeling academic:
<https://www.hansenpartnership.com/draft-bottomley-tpm2-keys.html>
okay that's the whole page!! ty for coming to my ted talk, now go add some keys πβ¨
β mwah, this was ssh-tpm-agent v0.9.0, dated 2026-08-10, signing off π slay
π¦ where this page comes from
- arch rolling: ssh-tpm-agent 0.9.0-2 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms