Je ne parviens pas à me connecter à un serveur qui demande une méthode d'échange de clés 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
Comment activer la méthode d'échange de clés diffie-hellman-group1-sha1
sur Debian 8.0 ?
J'ai essayé (comme proposé ici) de
d'ajouter les lignes suivantes à mon /etc/ssh/ssh_config
.
KexAlgorithmes 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
régénérer les clés avec
ssh-keygen -A
redémarrez ssh avec
service ssh restart
mais je reçois toujours l'erreur.
Le site web d'OpenSSH a une page dédiée aux [problèmes hérités][1] tels que celui-ci. Il suggère l'approche suivante, sur le client :
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 123.123.123.123
ou de manière plus permanente, en ajoutant
Host 123.123.123.123
KexAlgorithms +diffie-hellman-group1-sha1
à ~/.ssh/config
.
Cela activera les anciens algorithmes sur le client, lui permettant de se connecter au serveur.
J'ai essayé cette solution, mais mon problème était que j'avais de nombreux clients (anciens) qui se connectaient à mon serveur récemment mis à jour (ubuntu 14 -> ubuntu 16).
Le changement de openssh6 -> openssh7 a désactivé par défaut la méthode d'échange de clés diffie-hellman-group1-sha1
.
Après avoir lu ceci et ceci j'ai trouvé les modifications que je devais apporter au fichier /etc/ssh/sshd_config
:
#Legacy changes
KexAlgorithms +diffie-hellman-group1-sha1
Ciphers +aes128-cbc
Mais un ensemble plus large de changements est (pris de here)
#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