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