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

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 "F:\Downloads\cnxsoft\a1000\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.
Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

  1. Adrián
    October 14th, 2013 at 17:31 | #1

    Thank you, clear and useful !!

  2. November 23rd, 2013 at 17:24 | #2

    Awesome, worked like a charm, this was driving me batty!

  3. January 31st, 2014 at 07:36 | #3

    Thank You. I have been struggling to make the openssh 2 key to work with putty until I found your post.

  4. Agustin
    February 1st, 2014 at 01:48 | #4

    Hello and thank you for the step by step guide. I have an issue, though, just at the beggining. When importing the key with puttygen I get an error message “Couldn’t load private key (unexpected end of file)” and cannot continue past that point. Any ideas regarding this error? Than you in advance!

  5. Agustin
    February 1st, 2014 at 01:56 | #5

    Nevermind, I just resolved it. I think the problem was that the key file name was not standard (I’m not sure yet)

  6. Neth
    April 30th, 2014 at 00:59 | #6

    Nice work, helped a ton!!

  7. Kripal Kashyap
    August 29th, 2014 at 15:46 | #7

    It did not work for me, i did all the same steps given above to connect to my remote server.
    I am getting exception as “server refused our key “. Any suggestion is welcome.

  1. August 21st, 2013 at 02:58 | #1