1 is, as you said, easily fixable.
For 2, both OpenSSH and PuTTY have a concept of an "agent" - a background process holding your keys in memory. For OpenSSH this is ssh-agent, and PuTTY comes with Pageant. In both cases, the keys can be loaded once - usually at login time - after which the SSH client will simply ask the agent to sign the authentication data, without needing the location of the actual key.
The obvious advantage is not needing to re-enter the key's password every single connection, but there is more to it - both clients support agent forwarding, where you can connect to a (relatively trusted) machine and use the local agent remotely (for example, you can connect from local to hostX, from hostX to hostY, from hostY to hostZ), and the key will never leave your local machine.
3 is not a critical problem since Windows user profiles are not publicly accessible by default (I may be wrong here; will check later). Besides, your key is password-protected while on disk, and the permissions can be easily changed.
4 - just copy Pageant's shortcut into the Startup folder in Start Menu - Programs. (Alternatively, point the shortcut to your key file, to have it loaded on login.)
As for 5, cannot reproduce - I've used PuTTY and WinSCP for many years and Pageant worked fine. The only reason I can think of, is the recently introduced bug, fixed in PuTTY 0.62 - it made 0.60 core and 0.61 agent incompatible. Just upgrade to the latest version and it should work. If it doesn't, at least clarify on which programs you are trying.
Doesn't Putty save your keypairs under
c:\users\USERNAME\.ssh
? It does on my Windows7 machine. – kobaltz – 2012-01-05T04:53:44.400@kobaltz, only if the user tells it to. There is no default location. – user1686 – 2012-01-05T09:56:34.070
1
An alternative you might want to consider is Cygwin with its openssh package and PuTTY-derived but more xterm-compatible default terminal. Admittedly that's a lot heavier than PuTTY though if all you need is ssh.
– ak2 – 2012-01-05T10:34:56.547It's true that
c:\users\USERNAME\.ssh
is not a default for saving. But it would be nice if tools will look there by default when they need to read a key. Does this happen? – Adrian Ratnapala – 2012-01-08T05:25:34.950