SSH renvoie: aucun type de clé d'hôte correspondant trouvé. Leur offre: ssh-dss

49

Je suis habitué à utiliser Putty sur un boîtier Windows ou un terminal de ligne de commande OSX sur SSH dans un NAS, sans aucune configuration du client.

Ubuntu 16.04 tente de se connecter à SSH sur le NAS (via un réseau local):

ssh [email protected]

Unable to negotiate with 192.168.8.109 port 22: no matching host key type found. Their offer: ssh-dss
  1. Ce résultat / réponse est-il intentionnel?
  2. Existe-t-il une correction simple permettant l’accès SSH au NAS?
posée gatorback 12.10.2016 - 14:24
la source

3 réponses

94

La version d'OpenSSH incluse dans 16.04 désactive ssh-dss. Une page intéressante contenant des informations héritées inclut ce problème: lien

En résumé, vous devez ajouter l’option -oHostKeyAlgorithms=+ssh-dss à la commande SSH:

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

Vous pouvez également ajouter un modèle d’hôte dans votre ~/.ssh/config afin de ne pas avoir à spécifier l’algorithme de clé à chaque fois:

Host nas
  HostName 192.168.8.109
  HostKeyAlgorithms=+ssh-dss

Cela a l'avantage supplémentaire que vous n'avez pas besoin de taper l'adresse IP. Au lieu de cela, ssh reconnaîtra l'hôte nas et saura où se connecter. Bien sûr, vous pouvez utiliser tout autre nom à la place.

    
réponse donnée Kalle Elmér 12.10.2016 - 15:12
la source
8

Modifier le fichier ~ / .ssh / config est la meilleure option. Si vous avez plusieurs hôtes à connecter sur le même sous-réseau, vous pouvez utiliser la méthode suivante pour éviter de saisir chaque hôte dans le fichier:

 Host 192.168.8.*
  HostKeyAlgorithms=+ssh-dss

Cela fonctionne très bien pour moi car j'ai un certain nombre de commutateurs Brocade à gérer et ils ont commencé à se plaindre de la clé de l'hôte après avoir migré vers Ubuntu 16.04.

    
réponse donnée truxpin 06.07.2017 - 12:59
la source
2

Si vous souhaitez utiliser OpenSSH plus récent pour vous connecter à des serveurs obsolètes:

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

Ajoutez -v si vous voulez voir ce qui se passe et -o HostKeyAlgorithms = ssh-dss si cela ne fonctionne toujours pas:

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

Bien entendu, vous pouvez aussi éditer / etc / ssh / ssh_config ou ~ / .ssh / ssh_config et ajouter:

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

lien mentionne le correctif suivant sur Mikrotik Routeurs:

/ip ssh set strong-crypto=yes

(Notant ceci ici parce que cette réponse apparaît également dans les recherches sur le Web lorsque vous recherchez un message d'erreur similaire.)

    
réponse donnée Dagelf 20.02.2017 - 16:48
la source

Lire d'autres questions sur les étiquettes