How To Use Putty with an SSH Private Key Generated by OpenSSH


I have access to a remote server where I am only allowed to login via SSH with a key, and I can’t add an extra key by myself, as described in “No Password SSH” post. The private key (RSA) has been generated with ssh-keygen in Linux, and I can login from Linux without issue.

This morning, I wanted to do the same with Putty in Windows XP, so I just copied the private key to Windows and loaded it in Putty, but it failed:

Unable to use key file "id_rsa" (OpenSSH SSH-2 private key)

After a few minutes of research, I found my answer on UbuntuForums, and the reason it fails is because Putty does not support openssh keys, but uses its own format.

Here’s what I had to do:

1.Convert OpenSSH private key to Putty private key with Putty Key Generator (puttygen)
Start puttygen, and click on Conversions->Import key, then click Browse and select the private key generated with openssh (e.g. id_rsa).


Then click on Save private key (e.g. id_rsa_putty.ppk)


2.Putty SSH login with private key.

Now you can start Putty, enter the machine IP address or url as usual, then go to Connection->SSH->Auth.


Click Browse, and select your private key file (e.g. id_rsa_putty.ppk), go back to Session and save the session. You should now be able to login to the server.