Практическая ситуация. Имеется устаревшее устройство cisco 3800 доступное по протоколу sshv2. При попытке залогинится
ssh -l admin x.x.x.x
получаем ошибку:
Unable to negotiate with x.x.x.x port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
Это значит, что клиент и сервер не могут договориться об алгоритме обмена. Сервер предлагает лишь diffie-hellman-group1-sha1, а клиент по умолчанию его не использует (начиная с Openssh 7.0)
Поэтому в /home/user/.ssh конкретного пользователя создаем/редактируем файл config в который добавляем
Host x.x.x.x KexAlgorithms +diffie-hellman-group1-sha1
Повторяем попытку подключения и получаем следующую ошибку:
Unable to negotiate with x.x.x.x port 22: no matching cipher found. Their offer: aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
В данном случае сервер предлагает использовать aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc шифрование. Добавляем эту строку в config. Итоговый конфиг выглядит так:
Host x.x.x.x KexAlgorithms +diffie-hellman-group1-sha1 Ciphers aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc
Повторяем попытку подключения. В результате должно появится приглашение ввести пароль
Дополнительная инфа по ssh касательно подключения к устаревшим устройствам

- Системный администратор с 2000 года
- Участник Хабр Q&A и cyberforum
- Кейсы