1

Пытаюсь обновить загрузочный код CISCO SF200-24 через SCP, но все, что я получаю, это

fatal: Unable to negotiate with <IP> port 5939: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1 [preauth]

Но мой SSH

$ ssh -V
OpenSSH_7.2p2, OpenSSL 1.0.2h  3 May 2016

предлагает им AFAICS:

$ ssh -Q kex
diffie-hellman-group1-sha1
diffie-hellman-group14-sha1
diffie-hellman-group-exchange-sha1
diffie-hellman-group-exchange-sha256
ecdh-sha2-nistp256
ecdh-sha2-nistp384
ecdh-sha2-nistp521
curve25519-sha256@libssh.org

Это сводит меня с ума, тем более что вам нужно вводить все данные (IP хоста SCP, имя файла и т.д. Снова и снова с КАЖДОЙ попыткой). Так что же не так?

1 ответ1

2

Методы обмена ключами

diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1

устарели в последних версиях OpenSSH и по умолчанию не предлагаются. Но вы можете указать затем в командной строке или в ssh_config чтобы разрешить подключение к устаревшим серверам (Cisco).

Первый способ в командной строке:

scp  -O KexAlgorithms=+diffie-hellman-group-exchange-sha1 host:file /local/path/

или лучше в ~/.ssh/config:

Host your.cisco.host (or IP)
  KexAlgorithms +diffie-hellman-group-exchange-sha1

и тогда вы можете подключиться с помощью простого

scp  your.cisco.host:file /local/path/

Редактировать: ssh -Q kex перечисляет поддерживаемые алгоритмы, а не предлагаемые. Вы действительно предложили алгоритмы, используя ssh -G host | grep kexalgorithms

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .