Como faço para resolver o problema “Não é possível negociar”: Nenhum tipo de chave de host correspondente foi encontrado” ao me conectar à minha instância Linux do EC2 usando SSH?

3 minuto de leitura
0

Eu recebo o erro “Nenhum tipo de chave de host correspondente encontrado” ou “Nenhum método de troca de chave correspondente encontrado” ao me conectar à minha instância Linux do Amazon Elastic Compute Cloud (Amazon EC2) usando SSH. Breve descrição

Breve descrição

Você pode ver um dos seguintes erros ao se conectar a uma instância Linux do EC2 usando SSH:

  • Nenhum tipo de chave de host correspondente foi encontrado: esse erro ocorre se o SSH não conseguir negociar um algoritmo de criptografia comum ou uma chave de host com o servidor ao qual você está se conectando.
  • Nenhum método de troca de chave correspondente foi encontrado: esse erro indica um problema com o algoritmo de troca de chaves negociado entre o cliente e o servidor SSH durante o handshake do SSH. Esse erro ocorre quando o cliente e o servidor SSH têm algoritmos de troca de chaves diferentes ou incompatíveis.

Resolução

Atualize o openssh-client

Versões mais antigas do openssh-client podem não ser compatíveis com o algoritmo de troca de chaves negociado pelo servidor. Execute um dos comandos a seguir para atualizar o cliente para a versão mais recente:

Ubuntu e Debian

sudo apt upgrade openssh-client

Amazon Linux, RHEL e Fedora

sudo yum upgrade openssh-clients

Resolva o erro “nenhum tipo de chave de host correspondente foi encontrado”

Exemplo de erro

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 esse erro, certifique-se de que o servidor e o cliente tenham pelo menos um único algoritmo de chave de host correspondente. Execute o seguinte comando no servidor e no cliente para verificar o algoritmo da chave do host:

sudo ssh -Q key

Para adicionar algoritmos no cliente, anexe a seguinte linha no arquivo ~/.ssh/config ou no arquivo /etc/ssh/ssh_config:

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

Resolva o erro “nenhum método de troca de chave correspondente foi encontrado”

Exemplo de erro

 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 esse erro, certifique-se de que o servidor e o cliente tenham pelo menos um único algoritmo de troca de chaves correspondente. Execute o seguinte comando no servidor e no cliente para verificar o algoritmo de troca de chaves:

sudo ssh -Q kex

Para adicionar o algoritmo de troca de chaves no cliente, anexe a seguinte linha no arquivo ~/.ssh/config ou /etc/ssh/ssh_config:

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

Informações relacionadas

Opções de legado do OpenSSH Legacy em openssh.com

AWS OFICIAL
AWS OFICIALAtualizada há um ano