I've configured my router to accept a public key SSH session with a passphrase. They key pair was generated using the PuTTY tools on windows.

I can open the session from both Windows and Linux using the Putty tools, but I can't do so with ssh on Linux.

When prompted by ssh for the keyfile's passphrase, it fails. Ex:

~$ ssh root@my.domain.com -p 123 -i ./key-ddwrt.ppk
DD-WRT v24-sp2 micro (c) 2010 NewMedia-NET GmbH
Release: 06/09/10 (SVN revision: 14583)
Enter passphrase for key './key-ddwrt.ppk':  <*******>
Enter passphrase for key './key-ddwrt.ppk':  <*******>
Enter passphrase for key './key-ddwrt.ppk':  <*******>

But using plink works:

~$ plink -P 48884 -ssh -l root -i ./key-ddwrt.ppk my.domain.com
Using username "root".
DD-WRT v24-sp2 micro (c) 2010 NewMedia-NET GmbH
Release: 06/09/10 (SVN revision: 14583)
Passphrase for key "Hint phrase to jog my memory":  <*******>

Enter 'help' for a list of built-in commands.

root@DD-WRT:~#

Why?

link|improve this question

80% accept rate
feedback

2 Answers

up vote 5 down vote accepted

OpenSSH and the Putty derived tools use a different format for the keys. If you open up Puttygen you will be able to export a key that is openssh compatible for authentication.

link|improve this answer
Thanks. That makes perfect sense. – Jamie Sep 17 '10 at 17:53
putty: mega-irritating. So irritating that I always prefer using the OpenSSH in Cygwin whenever possible. – user5336 Sep 17 '10 at 20:29
feedback

ppk is a putty-proprietary way of storing the key. You need to export it as an pem for openssh to make use of it.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.