Correction: aucune méthode d'échange de clé correspondante trouvée



Essayez Notre Instrument Pour Éliminer Les Problèmes

Lorsque vous essayez d'utiliser ssh pour entrer en contact avec un serveur distant, vous pouvez recevoir un message d'erreur indiquant qu'aucune méthode d'échange de clé correspondante n'a été trouvée avant de vous suggérer l'algorithme de chiffrement que vous souhaitez utiliser. Vous ne pourrez pas vous connecter au serveur distant chaque fois que vous rencontrez l'erreur. Ce processus peut être vraiment frustrant, mais l'erreur est si courante que vous trouverez souvent des types Unix parler de la façon dont ils le vivent et donner les mêmes conseils pour sortir du bois.



Les méthodes suivantes pour corriger l'erreur ont été testées sur tout ce sur quoi ssh fonctionne, mais vous trouverez 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 quelque chose d'exotique, mais vous constaterez peut-être 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 autre chose, assurez-vous que vous pouvez reproduire l'erreur. Parfois, ce message d'erreur est simplement dû au fait qu'il existe un service distant qui n'est pas en cours d'exécution, ce qui a peut-être été corrigé entre-temps. Pendant que nous exécutions ssh dans une machine virtuelle qui permettait la connexion à une fausse adresse de serveur qui était définie sur example.org, approuvé par la documentation, mais vous voudrez plutôt remplacer une véritable adresse réseau.



Si vous le recevez toujours, essayez de régénérer les clés avec ssh-keygen -A à partir de l'invite de commande. Cela actualisera le cache que l'application ssh utilise pour se connecter au serveur distant. À part cela, vous voudrez peut-être essayer de redémarrer ssh en exécutant redémarrage du service ssh et en lui donnant quelques instants.

Si vous rencontrez toujours des problèmes, cela signifie que le serveur et le client n'ont jamais été en mesure de s'entendre avec le bon protocole à utiliser. OpenSSH implémente une panoplie étourdissante de protocoles différents, mais il en désactive un certain nombre car ils sont maintenant connus pour être compromis et donc dangereux. Vous souhaiterez mettre à jour tous les packages ssh à l'extrémité serveur de l'équation, alors assurez-vous que l'administrateur système est au courant de ce qui se passe. S'il s'agit de votre propre serveur, prenez un moment pour les mettre à jour.



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

Méthode 2: activation des options héritées dans OpenSSH

Jetez un œil à ce que le message d'erreur lit après les mots Leur offre: pour voir quel algorithme le serveur distant préfère. Alors que la plupart des systèmes devraient utiliser openssh7, qui a déjà désactivé l'ancienne technologie obsolète diffie-hellman-group1-sha1, on vous demandera d'utiliser sha1 s'ils sont toujours bloqués sur openssh6 ou quelque chose de similaire.

Courir ssh -oKexAlgorithms = + diffie-hellman-group1-sha1 testhost@example.org quel que soit l'hôte réseau ou l'adresse IP du serveur distant, il faut résoudre ce problème côté client. Si cela résout le problème, 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 de manière plus permanente en utilisant les éditeurs nano ou vim pour ouvrir le fichier ~ / .ssh / config et ajouter les lignes:

Hôte example.org

KexAlgorithms + diffie-hellman-group1-sha1

N'oubliez pas que vous souhaiterez 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 les plus sécurisées. Lorsque le serveur met à jour les packages, vous utiliserez les protocoles les plus sûrs dans la plupart des cas.

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

HostKeyAlgorithms + ssh-dss

Rappelez-vous que tout comme le système sha1, la clé ssh-dss est obsolète pour des problèmes de sécurité extrêmement rationnels qui lui sont associés. Son utilisation pourrait introduire des vulnérabilités dans votre connexion, il ne devrait donc être considéré que comme une solution temporaire, voire cela. Assurez-vous de mettre à jour le serveur dès que possible.

3 minutes de lecture