Como Resolver O Erro No Matching Key Exchange Method Found
Ao utilizar um cliente SSH mais atual (Rocky Linux 9), alguns equipamentos e sistemas passaram a apresentar uma mensagem de erro indicando problemas no reconhecimento da chave dos servidores SSH.
ssh -l user 10.10.0.1
Unable to negotiate with 10.10.0.1 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
A mesma mensagem pode aparecer em outros casos tais como ssh-rsa
, ecdsa-sha2-nistp256
, etc.
Uma forma de contornar isso é adicionar as diretivas KexAlgoritms
e HostKeyAlgorithms
explicitamente no arquivo ~/.ssh/config
para forçar o cliente a utilizar o tipo método correspondente.
$ cat ~/.ssh/config
Host *
KexAlgorithms +diffie-hellman-group1-sha1
HostKeyAlgorithms +ssh-rsa,ecdsa-sha2-nistp256
PubkeyAcceptedKeyTypes +ssh-rsa
Ciphers +aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
Este workaround NÃO corrige o problema, ou seja, o sistema remoto pode continuar precisando de atualizações, mas habilita o acesso para que seja possível aplicar as devidas correções.