Назад | Перейти на главную страницу

Не удается использовать ssh в коммутаторе Cisco: неверная длина ключа

По какой-то причине я не могу подключиться к коммутатору Cisco Catalyst C3750 по ssh. Это сообщение об ошибке, которое я получаю:

   ssh_dispatch_run_fatal: Connection to 192.168.7.6 port 22: Invalid key length

Это конфигурация SSH, которую я использую:

   Host 192.168.7.6
   IdentitiesOnly yes
   KexAlgorithms=+diffie-hellman-group1-sha1

Моя SSH-версия:

   OpenSSH_7.6p1, OpenSSL 1.1.0h-fips  27 Mar 2018

Я уже бегал:

   crypto key generate rsa

на коммутаторе и сгенерировал ключ длиной 2048, но это не помогло. Я также перезагрузил переключатель.

Спасибо

Была такая же проблема, и это было из-за длины ключа 768 бит. Чтобы убедиться, что вы действительно используете свой 2048-битный ключ:

ssh-keyscan <router|switch-ip> > rkey.txt
ssh-keygen -lf rkey.txt

Это скажет вам фактическую длину ключа.

Если вы получаете сообщение об ошибке «Недопустимая длина ключа», проблема не в ваших шифрах (это может быть собственная проблема, но если вы получаете ключ, значит, SSH согласился с шифром)

Я прочитал документацию CISCO по включению / отключению SSH / Telnet здесь: https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus5000/sw/security/513_n1_1/b_Cisco_n5k_security_config_gd_513_n1_1/b_Cisco_n5k_security_conf13_n10_gd_1

Если вы по-прежнему получаете «недопустимую длину ключа», ваш коммутатор / маршрутизатор Cisco по-прежнему обслуживает старый (короткий) ключ. Вот что мне нужно было сделать: 1) Включить Telnet (функция telnet) ИЛИ 1) Использовать консольный кабель 2) Войти (консоль или telnet) 3) Отключить SSH (без функции ssh) 4) Повторно создать ключ SSH (ключ ssh rsa 2048 force) Примечание. В других блогах используется команда модулей криптографического ключа, которая не помогла 5) Включить SSH (функция ssh) 6) Бинго ... никаких изменений в моем файле High Sierra ssh_config, и я работаю.

Надеюсь, поможет...

Я вхожу в свой с:

ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -c aes256-cbc username@3750g

Он выбирает правильный ключ и шифр.

Чарльз

если ssh -c aes192-cbc IP_ВАШЕ_УСТРОЙСТВО не работает. Попробуйте запустить ubuntu 12.04 на vagrant или, если это сложно, запустите ubuntu на виртуальном боксе. Затем подключитесь к вашему vbox, а затем к вашему устройству. Если ваше устройство поддерживает регенерацию закрытого ключа сервера, сделайте это с размером 2048 бит. После этого попробуйте подключиться с вашего хост-компьютера. Проверено с dfl-860e. если ваше устройство не поддерживает регенерацию закрытого ключа с настраиваемыми параметрами, вы можете использовать ssh ProxyCommand

вот пример моего файла конфигурации ssh с vagrant

Host vagrant 
    HostName 127.0.0.1 
    User vagrant 
    Port 2222 
    UserKnownHostsFile /dev/null 
    StrictHostKeyChecking no 
    PasswordAuthentication no
    IdentityFile DIR_WHERE_VAGRANTFILE/.vagrant/machines/default/virtualbox/private_key
    IdentitiesOnly yes
    LogLevel FATAL

Host dlink
    port 22
    User YOUR_USER_NAME_ON_DEVICE
    Ciphers aes128-cbc
    ProxyCommand ssh vagrant nc -q0 IP_YOUR_DEVICE %p

Это происходит, если недавно длина вашего ssh-ключа была изменена с 1024 бит на 2048 бит или около того. Простой способ исправить это - просто удалить старый ключ ssh из известного файла хоста и попытаться выполнить ssh на устройстве. Это поможет.