Não é possível entrar no SSH com chave, sempre pedindo senha

3

Há um problema que me confunde por alguns dias.

Eu tenho 3 servidores. A, B e C.

Eu quero acessar B e C de A via ssh. Eu defini chave pública / authorized_keys ... em A, B, C.

Cenário # 1: Acesso B (.133) de A via ssh - Sucesso! Cenário # 2: Acesso C (.148) de A via ssh - Falhou, pergunta a senha de entrada!

Compare suas informações de depuração:

1 caso de sucesso; É o OpenSSH 5.1, ele prefere a chave ssh-rsa:

debug3: order_hostkeyalgs: prefer hostkeyalgs: ssh-rsa-
[email protected],[email protected],ssh-rsa.

2 caso de falha; É o OpenSSH6.2, ele não prefere a chave ssh-rsa:

debug3: order_hostkeyalgs: prefer hostkeyalgs: ecdsa-sha2-nistp256
[email protected],[email protected],ecdsa-   
[email protected],ecdsa-sha2-nistp256,ecdsa-
sha2-nistp384,ecdsa-sha2-nistp521

Minha chave é genada pelo comando 'ssh-keygen -t rsa', então, eu acho, é a chave rsa. Não tenho certeza se é o principal motivo.

Como posso configurar o 'prefira hostkeyalgs' no OpenSSH (sshd)?

Ou talvez o problema seja causado por outras coisas?

===debug for Scenario #1 and #2 :===
See it at: diffchecker.com/tj5v3iog 

(Esta área não permite postar muitas informações de depuração :()

    
por Stanley Sun 12.06.2016 / 09:26

1 resposta

0

Parece que o seu sshd está configurado para aceitar a chave ecdsa.
Você pode rastrear no lado do servidor porque ele está apenas procurando por chaves ecdsa em vez de rsa, ou você pode resolver isso do lado do cliente, fornecendo uma chave ecdsa.

As etapas para criar e usar uma chave ecdsa do cliente são as seguintes:

  1. ssh-keygen -t ecdsa -b 256 -N '' -f ~/.ssh/id_ecdsa
  2. ssh-copy-id -i ~/.ssh/id_ecdsa C

Observe em ssh-keygen depois de -N , são duas aspas simples (2x ' ) e NÃO uma única aspas duplas.

    
por 30.06.2016 / 10:33