Solo per migliorare la risposta di tumbleweed che contiene un link morto per trovare il vecchio elenco di algoritmi.
Prima di tutto, decidi un elenco di algoritmi. Per trovare il vecchio elenco, utilizzare ssh -vv
:
ssh -vv somehost
E cerca le 2 righe come "algoritmi chiave host: ..." dove la prima sembra essere l'offerta del server e la seconda è quella del client. O per selezionare automaticamente quelle 2 linee, prova questo (e per uscire premi ctrl + d):
ssh -vv somehost 2>&1 | grep "host key algorithms:"
Ora filtralo ... dovresti rimuovere tutti quelli dss / dsa poiché sono obsoleti da tempo, e volevi anche rimuovere ecdsa (come faccio io), quindi per esempio se avessi:
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
Dovresti finire con:
ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
Ora modifica la tua configurazione. Per la tua configurazione:
vim ~/.ssh/config
Per la configurazione del sistema:
sudo vim /etc/ssh/ssh_config
Aggiungi una nuova linea, a livello globale:
HostKeyAlgorithms ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
o per un host specifico (non ideale per la configurazione a livello di server):
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
Invece dell'elenco che ho inserito, incolla l'elenco derivato ssh -vv
dall'output, senza includere la parte "algoritmi chiave host:".