Non riesco a fare ssh su un server che chiede un metodo di scambio di chiavi diffie-hellman-group1-sha1
:
ssh 123.123.123.123
Unable to negotiate with 123.123.123.123 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
**Come abilitare il metodo di scambio chiavi diffie-hellman-group1-sha1
su Debian 8.0?
Ho provato (come proposto qui) a
aggiungere le seguenti linee al mio /etc/ssh/ssh_config
KexAlgorithms diffie-hellman-group1-sha1,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1
Cifre 3des-cbc,blowfish-cbc,aes128-cbc,aes128-ctr,aes256-ctr
rigenerare le chiavi con
ssh-keygen -A
riavviare ssh con
servizio ssh restart
ma ottiene ancora l'errore.
Il sito web di OpenSSH ha una pagina dedicata ai problemi legacy come questo. Suggerisce il seguente approccio, sul client:
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 123.123.123.123
o in modo più permanente, aggiungendo
Host 123.123.123.123
KexAlgorithms +diffie-hellman-group1-sha1
a ~/.ssh/config
.
Questo abiliterà i vecchi algoritmi sul client, permettendogli di connettersi al server.
Ho provato questa soluzione, ma il mio problema era che avevo molti client (legacy) che si collegavano al mio server recentemente aggiornato (ubuntu 14 -> ubuntu 16).
Il cambiamento da openssh6 -> openssh7 ha disabilitato di default il metodo di scambio chiavi diffie-hellman-group1-sha1
.
Dopo aver letto questo e questo ho trovato le modifiche che dovevo fare al file /etc/ssh/sshd_config
:
#Legacy changes
KexAlgorithms +diffie-hellman-group1-sha1
Ciphers +aes128-cbc
Ma un insieme più ampio di modifiche è (preso da qui)
#Legacy changes
KexAlgorithms diffie-hellman-group1-sha1,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1
Ciphers 3des-cbc,blowfish-cbc,aes128-cbc,aes128-ctr,aes256-ctr