= ssh-tpm-add(1)
:doctype: manpage
:manmanual: ssh-tpm-add manual

== Name

ssh-tpm-add - adds private keys to the *ssh-tpm-agent*

== Synopsis

*ssh-tpm-add*

*ssh-tpm-add* [__PATH__ ...]

== Description

*ssh-tpm-add* adds TPM wrapped private keys to *ssh-tpm-agent*(1). Any specified keys as arguments are added to the running agent.

It requires the environment variable *SSH_TPM_AUTH_SOCK* to point at an active UNIX domain socket with an agent listening.

If no files are given it will try to load the default keys *~/.ssh/id_ecdsa.tpm* and *~/.ssh/id_rsa.tpm*.

== Environment
*SSH_TPM_AUTH_SOCK*::
Identifies the path of a unix-domain socket for communication with the agent.
+
Default to _/var/tmp/ssh-tpm-agent.sock_.

== Files

_~/ssh/id_rsa.tpm_::
_~/ssh/id_ecdsa.tpm_::
  Contains the ssh private keys used by *ssh-tpm-agent*. They are TPM 2.0 TSS key files and securely wrapped by the TPM. They can be shared publicly as they can only be used by the TPM they where created on. However it is probably better to not do that.

_~/ssh/id_rsa.pub_::
_~/ssh/id_ecdsa.pub_::
  Contains the ssh public keys. These can be shared publicly, and is the same format as the ones created by *ssh-keygen*(1).

== See Also
*ssh-add*(1), *ssh-agent*(1), *ssh*(1), *ssh-tpm-keygen*(1), *ssh-keygen*(1)

== Notes, standards and other
https://www.hansenpartnership.com/draft-bottomley-tpm2-keys.html[ASN.1 Specification for TPM 2.0 Key Files]
