¿Cómo puedo resolver el problema «No se puede negociar: no se ha encontrado ningún tipo de clave de host coincidente» al conectarme a mi instancia de Linux de EC2 mediante SSH?

3 minutos de lectura
0

Se produce el error «No se ha encontrado ningún tipo de clave de host coincidente» o «No se ha encontrado ningún método de intercambio de claves coincidentes» al conectarme a mi instancia de Linux de Amazon Elastic Compute Cloud (Amazon EC2) mediante SSH. Breve descripción

Breve descripción

Al conectarse a una instancia de Linux de EC2 mediante SSH, es posible que se produzca uno de los siguientes errores:

  • No se ha encontrado ningún tipo de clave de host coincidente: Este error se produce cuando SSH no puede negociar un algoritmo de cifrado o una clave de host comunes con el servidor al que se está conectando.
  • No se ha encontrado ningún método de intercambio de claves coincidente: Este error indica un problema con el algoritmo de intercambio de claves negociado entre el servidor y el cliente de SSH durante el protocolo de enlace de SSH. Se produce cuando el servidor y el cliente de SSH tienen unos algoritmos de intercambio de claves diferentes o incompatibles.

Solución

Actualizar el cliente openssh

Es posible que las versiones anteriores del cliente openssh no sean compatibles con el algoritmo de intercambio de claves que haya negociado el servidor. Ejecute uno de los siguientes comandos para actualizar el cliente a la versión más reciente:

Ubuntu y Debian

sudo apt upgrade openssh-client

Amazon Linux, RHEL y Fedora

sudo yum upgrade openssh-clients

Solucionar el error «No se ha encontrado ningún tipo de clave de host coincidente»

Ejemplo del error

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.

Para resolver este error, asegúrese de que el servidor y el cliente tengan al menos un algoritmo de clave de host coincidente. Ejecute el siguiente comando en el servidor y el cliente para comprobar el algoritmo de clave de host:

sudo ssh -Q key

Para añadir otros algoritmos al cliente, anexe la siguiente línea al archivo ~/.ssh/config o /etc/ssh/ssh_config:

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

Solucionar el error «No se ha encontrado ningún método de intercambio de claves coincidente»

Ejemplo del error

 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

Para resolver este error, asegúrese de que el servidor y el cliente tengan al menos un algoritmo de intercambio de claves coincidente. Ejecute el siguiente comando en el servidor y el cliente para comprobar el algoritmo de intercambio de claves:

sudo ssh -Q kex

Para añadir otro algoritmo de intercambio de claves al cliente, anexe la siguiente línea al archivo ~/.ssh/config o /etc/ssh/ssh_config:

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

Información relacionada

OpenSSH Legacy Options, disponible en openssh.com

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año