Jeg kan ikke ssh'e til en server, der beder om en nøgleudvekslingsmetode 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
Hvordan aktiverer man nøgleudvekslingsmetoden diffie-hellman-group1-sha1
på Debian 8.0?
Jeg har forsøgt (som foreslået her)) at
at tilføje følgende linjer til min /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
Ciphers 3des-cbc,blowfish-cbc,aes128-cbc,aes128-ctr,aes256-ctr
regenerer nøgler med
ssh-keygen -A
genstart ssh med
service ssh restart
men får stadig fejlen.
OpenSSH-webstedet har en side dedikeret til legacy issues som denne. Den foreslår følgende fremgangsmåde, på klienten:
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 123.123.123.123
eller mere permanent, ved at tilføje
Host 123.123.123.123
KexAlgorithms +diffie-hellman-group1-sha1
til ~/.ssh/config
.
Dette vil aktivere de gamle algoritmer på klienten, så den kan oprette forbindelse til serveren.
Jeg prøvede denne løsning, men mit problem var, at jeg havde mange (gamle) klienter, der forbandt til min nyligt opgraderede server (ubuntu 14 -> ubuntu 16).
Ændringen fra openssh6 -> openssh7 deaktiverede som standard diffie-hellman-ellman-group1-sha1
nøgleudvekslingsmetoden.
Efter at have læst dette og dette fandt jeg frem til de ændringer, jeg skulle foretage i filen /etc/ssh/sshd_config
:
#Legacy changes
KexAlgorithms +diffie-hellman-group1-sha1
Ciphers +aes128-cbc
Men et mere bredt sæt af ændringer er (taget fra her))
#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