Comment puis-je résoudre le problème « Impossible de négocier : Aucun type de clé d'hôte correspondant n'a été trouvé » lors de la connexion à mon instance Linux EC2 via SSH ?

Lecture de 3 minute(s)
0

Je reçois le message d'erreur « Aucun type de clé d'hôte correspondant trouvé » ou « Aucune méthode d'échange de clé correspondante trouvée » lorsque je me connecte à mon instance Linux Amazon Elastic Compute Cloud (Amazon EC2) via SSH. Brève description

Brève description

L'une des erreurs suivantes peut s'afficher lors de la connexion à une instance Linux EC2 via SSH :

  • Aucun type de clé d'hôte correspondant n'a été trouvé : Cette erreur se produit si SSH ne parvient pas à négocier un algorithme de chiffrement ou une clé d'hôte communs avec le serveur auquel vous vous connectez.
  • Aucune méthode d'échange de clé correspondante n'a été trouvée : Cette erreur indique un problème lié à l'algorithme d'échange de clés négocié entre le client et le serveur SSH lors de l'établissement de connexion SSH. Cette erreur se produit lorsque le client et le serveur SSH utilisent des algorithmes d'échange de clés différents ou incompatibles.

Résolution

Mettre à jour le client openssh

Les anciennes versions du client openssh ne prennent pas toujours en charge l'algorithme d'échange de clés négocié par le serveur. Exécutez l'une des commandes suivantes pour mettre à jour le client vers la dernière version :

Ubuntu et Debian

sudo apt upgrade openssh-client

Amazon Linux, RHEL et Fedora

sudo yum upgrade openssh-clients

Résolvez l'erreur « aucun type de clé d'hôte correspondant n'a été trouvé »

Exemple d'erreur

Unable to negotiate with X.X.X.X port 22. no matching host key type found. Their offer: rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519.

Pour résoudre cette erreur, assurez-vous que le serveur et le client disposent d'au moins un algorithme de clé hôte correspondant. Exécutez la commande suivante sur le serveur et le client pour vérifier l'algorithme de clé hôte :

sudo ssh -Q key

Pour ajouter des algorithmes supplémentaires dans le client, ajoutez la ligne suivante dans le fichier ~/.ssh/config ou /etc/ssh/ssh \ _config :

vi ~/.ssh/config
HostkeyAlgorithms +ssh-ed25519

Résolvez l'erreur « aucune méthode d'échange de clé correspondante n'a été trouvée »

Exemple d'erreur

 Unable to negotiate with X.X.X.X port 22: no matching key exchange method found. Their offer: curve25519-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha25

Pour résoudre cette erreur, assurez-vous que le serveur et le client disposent d'au moins un algorithme d'échange de clés correspondant. Exécutez la commande suivante sur le serveur et le client pour vérifier l'algorithme d'échange de clés :

sudo ssh -Q kex

Pour ajouter un algorithme d'échange de clés supplémentaire sur le client, ajoutez la ligne suivante dans le fichier ~/.ssh/config ou /etc/ssh/ssh \ _config :

vi ~/.ssh/config
KexAlgorithms +diffie-hellman-group16-sha512

Informations connexes

Options héritées OpenSSH sur openssh.com

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an