Подключаемся к старенькому девайсу по ssh

Подключаемся к старенькому девайсу по ssh

В организациях очень часто преследуют мысль "Ну работает железяка и пусть работает", зачем ее менять? А вот о том, что администраторам нужно ею управлять - это уже вопрос становится вторичным. Таким образом, зачастую набирается гора старенького железа, которой нужно управлять по SSH.

Практическая ситуация. Имеется устаревшее устройство 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 касательно подключения к устаревшим устройствам

Александр Черных
системный администратор