为什么我的SSH口令与`plink`而不是`ssh`一起工作?

我已经configuration我的路由器接受公钥SSH会话和密码。 他们的密钥对是在Windows上使用PuTTY工具生成的。

我可以使用Putty工具从Windows和Linux打开会话,但是我无法在Linux上使用ssh

ssh提示密钥文件的密码时,它会失败。 例如:

 ~$ ssh [email protected] -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': <*******> 

但使用plink作品:

 ~$ 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:~# 

为什么?

OpenSSH和Putty派生的工具使用不同的格式作为键。 如果你打开Puttygen,你将能够导出一个兼容opensshauthentication的密钥 。

ppk是存储密钥的腻子专有方式。 你需要将它导出为openssh来使用它。