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