SSH retorna: nenhum tipo de chave de host correspondente foi encontrado. Sua oferta: ssh-dss

45

Estou acostumado a usar o Putty em uma caixa do Windows ou um terminal de linha de comando do OSX para o SSH em um NAS, sem qualquer configuração do cliente.

O Ubuntu 16.04 tenta o SSH no NAS (via LAN):

ssh [email protected]

Unable to negotiate with 192.168.8.109 port 22: no matching host key type found. Their offer: ssh-dss
  1. Este resultado / resposta é intencional?
  2. Existe uma correção simples que permite o acesso SSH ao NAS?
por gatorback 12.10.2016 / 14:24

3 respostas

84

A versão do OpenSSH incluída no 16.04 desabilita o ssh-dss. Há uma página simples com informações herdadas que incluem esse problema: link

Em poucas palavras, você deve adicionar a opção -oHostKeyAlgorithms=+ssh-dss ao comando SSH:

ssh -oHostKeyAlgorithms=+ssh-dss [email protected]

Você também pode adicionar um padrão de host em ~/.ssh/config , para não precisar especificar o algoritmo de chave sempre:

Host nas
  HostName 192.168.8.109
  HostKeyAlgorithms=+ssh-dss

Isso traz o benefício adicional de que você não precisa digitar o endereço IP. Em vez disso, ssh reconhecerá o host nas e saberá onde se conectar. Claro que você pode usar qualquer outro nome em seu lugar.

    
por Kalle Elmér 12.10.2016 / 15:12
7

Editar o arquivo ~ / .ssh / config é a melhor opção. Se você tiver vários hosts para se conectar na mesma sub-rede, poderá usar o método a seguir para evitar a inserção de cada host no arquivo:

 Host 192.168.8.*
  HostKeyAlgorithms=+ssh-dss

Isso funciona muito bem para mim, pois tenho vários switches Brocade para gerenciar e eles começaram a reclamar sobre a chave do Host depois que eu mudei para o Ubuntu 16.04.

    
O
por truxpin 06.07.2017 / 12:59
2

Se você quiser usar o OpenSSH mais recente para se conectar a servidores obsoletos:

ssh -o KexAlgorithms=diffie-hellman-group14-sha1 -oHostKeyAlgorithms=+ssh-dss my.host.com

Adicione -v se você quiser ver o que está acontecendo, e -o HostKeyAlgorithms = ssh-dss se ainda não funcionar:

ssh -v -o HostKeyAlgorithms=ssh-dss -o KexAlgorithms=diffie-hellman-group14-sha1 my.host.com

Você também pode, é claro, editar / etc / ssh / ssh_config ou ~ / .ssh / ssh_config e adicionar:

Host my.host.com *.myinsecure.net 192.168.1.* 192.168.2.*
    HostKeyAlgorithms ssh-dss
    KexAlgorithms diffie-hellman-group1-sha1    

link menciona a seguinte correção no Mikrotik Routerboards:

/ip ssh set strong-crypto=yes

(Observando isso aqui, porque essa resposta também aparece em pesquisas da Web ao procurar por uma mensagem de erro semelhante).

    
por Dagelf 20.02.2017 / 16:48

Tags