Por que meu código SSH funciona com 'plink' e não 'ssh'?

1

Configurei meu roteador para aceitar uma sessão SSH de chave pública com uma frase secreta. O par de chaves foi gerado usando as ferramentas do PuTTY no Windows.

Eu posso abrir a sessão do Windows e do Linux usando as ferramentas Putty, mas não posso fazê-lo com ssh no Linux.

Quando solicitado por ssh para a frase secreta do arquivo de chaves, ele falhará. Ex:

~$ 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':  <*******>

Mas usando plink funciona:

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

Por quê?

    
por Jamie 17.09.2010 / 19:48

2 respostas

5

O OpenSSH e as ferramentas derivadas do Putty usam um formato diferente para as chaves. Se você abrir Puttygen você será capaz de exporta uma chave que é compatível com openssh para autenticação.

    
por 17.09.2010 / 19:51
1

O ppk é uma maneira proprietária de armazenar a chave. Você precisa exportá-lo como um pem para o openssh fazer uso dele.

    
por 17.09.2010 / 21:59

Tags