Apenas para melhorar a resposta do tumbleweed, que possui um link morto para encontrar a lista antiga de algoritmos.
Primeiro, decida uma lista de algoritmos. Para encontrar a lista antiga, usessh -vv
:
ssh -vv somehost
E procure as 2 linhas como "algoritmos de chave do host: ...", onde a primeira parece ser a oferta do servidor e a segunda é a do cliente. Ou, para escolher essas duas linhas automaticamente, tente o seguinte (e para sair, pressione ctrl + d):
ssh -vv somehost 2>&1 | grep "host key algorithms:"
Agora filtre para baixo ... você deve remover todos os dss / dsa, pois eles são obsoletos há muito tempo, e você também queria remover o ecdsa (como eu), por exemplo, se você tivesse:
ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
Você deve terminar com:
ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
Agora edite sua configuração. Para sua própria configuração:
vim ~/.ssh/config
Para a configuração em todo o sistema:
sudo vim /etc/ssh/ssh_config
Adicione uma nova linha, globalmente:
HostKeyAlgorithms ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
ou para um host específico (não ideal para a configuração em todo o servidor):
Host somehost
HostKeyAlgorithms ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
Em vez da lista que eu inseri, cole a lista que você derivou da ssh -vv
saída, sem incluir a parte "algoritmos de chave do host:".