Corrigé : Aucune méthode d'échange de clés correspondante trouvée

Découvrez comment résoudre l’erreur SSH « aucune méthode d’échange de clés correspondante trouvée », une problématique courante sur les serveurs Unix et Linux, avec des solutions pratiques et efficaces.

Lorsque vous essayez d'utiliser ssh pour contacter un serveur distant, vous pourriez recevoir une erreur indiquant qu'aucune méthode d'échange de clés correspondante n'a été trouvée, avant de vous suggérer quel algorithme de chiffrement vous devriez utiliser. Vous ne pourrez pas vous connecter au serveur distant lorsque vous rencontrerez cette erreur. Ce processus peut être vraiment frustrant, mais l'erreur est si courante que vous trouverez souvent des utilisateurs de Unix parlant de leur expérience à ce sujet et donnant les mêmes conseils pour s'en sortir.

Les méthodes suivantes pour corriger l'erreur ont été testées sur tous les systèmes où ssh fonctionne, mais vous verrez probablement ce problème sur les systèmes Unix et Linux. Vous devriez pouvoir utiliser le même processus pour le corriger si vous exécutez ssh sous Windows ou dans un environnement exotique, mais vous pourriez constater que les options de commutation sont légèrement différentes.

Méthode 1 : Recontacter le Serveur et Régénérer les Clés

Avant de faire quoi que ce soit d'autre, assurez-vous que vous pouvez reproduire l'erreur. Parfois, ce message d'erreur n'est que le résultat d'un service côté distant qui n'est pas en cours d'exécution, ce qui pourrait avoir été corrigé entre-temps. En exécutant ssh dans une machine virtuelle qui permettait la connexion à une adresse de serveur fictif, recommandée par la documentation (exemple.org), vous voudrez utiliser une véritable adresse réseau à la place.

Si l'erreur persiste, essayez de régénérer les clés avec ssh-keygen -A à partir de l'invite de commandes. Cela rafraîchira le cache que l'application ssh utilise pour se connecter au serveur distant. Si cela ne fonctionne pas, vous pouvez essayer de redémarrer ssh en exécutant service ssh restart et en lui accordant quelques instants.

Si vous avez encore des problèmes, cela signifie que le serveur et le client n'ont jamais pu se mettre d'accord sur le bon protocole à utiliser. OpenSSH implémente une multitude de protocoles différents, mais en désactive plusieurs car ils sont désormais connus pour être compromis et donc non sécurisés. Vous voudrez mettre à jour tous les paquets ssh du côté serveur, alors assurez-vous que l'administrateur système est au courant de la situation. Si c'est votre propre serveur, prenez un moment pour les mettre à jour.

Si cela n'est pas une option et que vous reconnaissez les dangers d'utiliser un algorithme compromis, il existe un moyen côté client de contourner ce message d'erreur.

Méthode 2 : Activer les Options Héritées dans OpenSSH

Regardez ce que dit le message d'erreur après les mots « Leur offre : » pour voir quel algorithme le serveur distant préfère. Bien que la plupart des systèmes devraient utiliser openssh7, qui a déjà désactivé la technologie obsolète diffie-hellman-group1-sha1, vous serez invité à utiliser sha1 s'ils sont toujours bloqués sur openssh6 ou quelque chose de similaire.

Exécutez ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 testhost@example.org avec l'hôte réseau ou l'adresse IP réelle du serveur distant pour résoudre ce problème côté client. Si cela résout le problème, alors il recherchait un ancien protocole basé sur sha1 pour se connecter. Cette ancienne solution basée sur sha1 a été désactivée pour une bonne raison, mais vous pouvez la contourner plus durablement en utilisant les éditeurs nano ou vim pour ouvrir le fichier ~/.ssh/config et ajouter les lignes :

Host example.org

KexAlgorithms +diffie-hellman-group1-sha1

Gardez à l'esprit que vous devez vous assurer que le signe plus est présent, car cela signifie que ssh ajoutera plutôt que de remplacer les valeurs par défaut plus sécurisées. Lorsque le serveur met à jour les paquets, vous utiliserez les protocoles plus sûrs dans la plupart des cas.

Si vous avez reçu une erreur auparavant qui mentionnait le protocole ssh-dss au lieu de la version sha1, vous pouvez essayer cette commande suivie du nom de votre hôte : ssh -oHostKeyAlgorithms=+ssh-dss, et si cela fonctionne, vous devrez à nouveau modifier le fichier ~/.ssh/config. Après la ligne Host, ajoutez une tabulation et les lignes suivantes :

HostKeyAlgorithms +ssh-dss

Rappelez-vous que tout comme le système sha1, la clé ssh-dss a été dépréciée en raison de problèmes de sécurité extrêmement raisonnables qui lui sont associés. L'utilisation de celle-ci pourrait introduire des vulnérabilités dans votre connexion, elle doit donc être considérée uniquement comme une solution temporaire, si même cela. Assurez-vous de mettre à jour le serveur dès que possible.

Maintenant que tu as fini de lire Corrigé : Aucune méthode d'échange de clés correspondante trouvée, nous t'invitons à explorer davantage la catégorie Linux. Tu y trouveras d'autres articles intéressants qui élargiront tes connaissances et te tiendront informé. Ne cesse pas de lire et de découvrir plus!

Index
  1. Méthode 1 : Recontacter le Serveur et Régénérer les Clés
  2. Méthode 2 : Activer les Options Héritées dans OpenSSH

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Go up