Як увімкнути обмін ключами diffie-hellman-group1-sha1 на Debian 8.0?


65

Я не в змозі отримати ssh на сервер, який запитує 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

Як увімкнути diffie-hellman-group1-sha1метод обміну ключами на Debian 8.0?

Я спробував (як тут запропоновано )

  1. додати наступні рядки до мого /etc/ssh/ssh_config

    KexAlgorithms diffie-hellman-group1-sha1,curve25519-sha256@libssh.org,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
    
  2. відновити ключі за допомогою

    ssh-keygen -A
    
  3. перезапустити ssh з

    service ssh restart
    

    але все ж отримайте помилку.


У мене те саме трапляється і з Debian 9.
Rui F Ribeiro

Спробуйте цю групову обмінну групу-sha256
Мігель,

Відповіді:


92

На веб-сайті OpenSSH є сторінка, присвячена таким питанням , як ця. Про клієнта пропонується такий підхід :

ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 123.123.123.123

або більш постійно, додаючи

Host 123.123.123.123
    KexAlgorithms +diffie-hellman-group1-sha1

до ~/.ssh/config.

Це дозволить старі алгоритми на клієнті , дозволяючи йому підключитися до сервера.


Я також сьогодні стикався з цією проблемою, але це було пов’язано з мережею. Я змінив мережу, і проблеми не було
Luv33preet

Спробував вище, але отримавUnable to negotiate with 192.168.1.123 port 22222: no matching cipher found. Their offer: aes128-cbc,3des-cbc,aes256-cbc,twofish256-cbc,twofish-cbc,twofish128-cbc,blowfish-cbc
типологічний

@ifelsemonkey - це інша проблема, зауважте, що пропозиція, яку ви отримуєте, не така, як у запитанні.
Стівен Кітт

2
Підтвердив, що це інша проблема. Я зміг це вирішити, додавши наступний запис у свій ~/.ssh/configфайл. Host 192.168.1.123і під ним Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc.
typelogic

17

Я спробував це рішення, але моя проблема полягала в тому, що у мене було багато (застарілих) клієнтів, які підключалися до мого нещодавно оновленого сервера (ubuntu 14 -> ubuntu 16).

Перехід від openssh6 -> openssh7 вимкнено за замовчуванням diffie-hellman-group1-sha1методом обміну ключами.

Прочитавши це та це, я придумав зміни, які потрібно було зробити у /etc/ssh/sshd_configфайлі:

#Legacy changes
KexAlgorithms +diffie-hellman-group1-sha1
Ciphers +aes128-cbc

Але більш широкий спадковий набір змін є (взято звідси )

#Legacy changes
KexAlgorithms diffie-hellman-group1-sha1,curve25519-sha256@libssh.org,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

4
Сподіваємось, ви зможете оновити своїх клієнтів в якийсь момент, застарілі алгоритми були відключені з дуже поважних причин і не повинні їх легко вмикати знову (ви, мабуть, усвідомлюєте це, я просто вважав, що це варто вказати іншим читачам).
Стівен Кітт

1
Це працює на стороні сервера (на відміну від дуже подібної, прийнятої відповіді, яка зосереджена на стороні клієнта)
кнб

Я намагаюся використовувати те саме, щоб включити старі ключі. але оскільки я новачок, я насправді не знаю, який IP-адресу розміщувати, коли я пишу ssh -oKexAlgorithms = + diffie-hellman-group1-sha1
123.123.123.123

Для подальшого пошуку майбутніх людей я підключав через SSH з Mac, що працює на OpenSSH_7.9p1, до комутатора Cisco 3750, який працює: Програмне забезпечення Cisco IOS, Програмне забезпечення C3750 (C3750-IPSERVICESK9-M), версія 12.2 (55) (fc2). Я додав наступне в конфігурацію клієнта і зміг ssh в: KexAlgorithms + diffie-hellman-group1-sha1 Ciphers + aes128-cbc
DYoung
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.