<p>How do I setup Public-Key Authentication for SSH?</p>

For windows
this
is a good introduction and guide
Here are some good ssh-agents for systems other than linux.
Windows -
pageant
OS X -
SSHKeychain