Je suis habitué à utiliser PuTTY sur une machine Windows ou un terminal de ligne de commande OSX pour SSH dans un NAS, sans configuration du client.
Ubuntu 16.04 tente de SSH dans le NAS (via le 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
La version d'OpenSSH incluse dans 16.04 désactive ssh-dss. Il existe une page soignée avec des informations héritées qui inclut ce problème: http://www.openssh.com/legacy.html
En bref, vous devriez 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 présente l'avantage supplémentaire que vous n'avez pas besoin de taper l'adresse IP. ssh
reconnaîtra l'hôte nas
et saura où se connecter. Bien sûr, vous pouvez utiliser n'importe quel autre nom à la place.
Éditer le fichier ~/.ssh/config est la meilleure option. Si vous devez vous connecter à plusieurs hôtes sur le même sous-réseau, vous pouvez utiliser la méthode suivante pour éviter d'entrer 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.
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
Vous pouvez aussi, bien sûr, é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
https://forum.ctwug.za.net/t/fyi-openssh-to-access-rbs-openssh-7/6069 mentionne le correctif suivant sur les routeurs Mikrotik:
/ip ssh set strong-crypto=yes
(Notez ceci ici parce que cette réponse apparaît également lors de recherches Web lorsque vous recherchez un message d'erreur similaire.)
Pour moi ajouté dans .ssh\config
travaillé :
Host *
HostkeyAlgorithms +ssh-dss
PubkeyAcceptedKeyTypes +ssh-dss