ssh agent
To use ssh(1) I first start ssh-agent(1).
I use -c to generate C-shell commands on stdout for csh-style shells and send that to eval.
eval `ssh-agent -c`
With ssh-agent running I use ssh-add(1) to add private key to it.
ssh-add ~/.ssh/<private_key>
That's it, ssh-agent will now hold that private key and use it for the public key authentication.
If I want to list all identities currently represented by the agent I use ssh-agent -l command.