Я настроил свой маршрутизатор на прием сеанса SSH с открытым ключом с парольной фразой. Пара ключей была создана с помощью инструментов PuTTY в Windows.
Я могу открыть сеанс как из Windows, так и из Linux с помощью инструментов Putty, но я не могу этого сделать с ssh
в Linux.
По запросу ssh
для парольной фразы ключевого файла он не работает. Пример:
~$ 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': <*******>
Но используя 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 Вы будете в состоянии экспортировать ключ который совместим с openssh для аутентификации.
ppk - это запатентованный способ хранения ключа. Вам нужно экспортировать его как pem, чтобы openssh мог его использовать.