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