В командной строке Bitvise SSH Client (stnlc.exe) выдается ошибка при успешном подключении с графическим интерфейсом

Я интегрирую клиент Bitvise в свое приложение winform. Я использую командную строку Bitvise SSH Client (stnlc.exe в каталоге приложения) для этого. Мое приложение должно иметь несколько подключений одновременно. Он хорошо работает с некоторыми адресами, а с другими - нет. Это команда, которую я использую:

 "C:\Program Files (x86)\Bitvise SSH Client\stnlc.exe" -profile="C:\Users\AutoOffer\AutoOffer\bin\Debug\data\sshprofile.bscp" -host=<myhost> -port=22 -user=<username> -pw=<password> -ka=y -proxyFwding=y -proxyListIntf=127.0.0.1 -proxyListPort=<port>

И это ошибка, которую я получил:

Bitvise SSH Client 6.45 - stnlc - free for individual use only, see EULA
Copyright (C) 2000-2015 by Bitvise Limited.

Connecting to SSH2 server XX.XX.XX.XX:22.
Connection established.
Server version: SSH-2.0-dropbear_0.46
First key exchange started.
ERROR: The SSH2 session has terminated with error.
Reason: Error class: LocalSshDisconn, code: KeyExchangeFailed, message: FlowSshTransport: no mutually supported key exchange algorithm.
Local list: "ecdh-sha2-1.3.132.0.10,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group14-sha1".
Remote list: "diffie-hellman-group1-sha1".

Я попытался подключиться вручную с помощью приложения Bitvise с графическим интерфейсом, и он успешно подключился!
Я также обновил свою версию bitvise до последней версии (6.45).

3 ответа

Решение
Local list: "ecdh-sha2-1.3.132.0.10,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group14-sha1".
Remote list: "diffie-hellman-group1-sha1".

Так что, похоже, удаленная сторона просто поддерживает diffie-hellman-group1-sha1, который не поддерживается на вашей стороне.

На истории версий сервера Bitvise SSH я читаю:

1024-битные фиксированные простые методы обмена ключами Диффи-Хеллмана, diffie-hellman-group1-sha1 и gssapi-group1-sha1 с Kerberos 5, теперь по умолчанию отключены из-за сомнений в сохранении безопасности Диффи-Хеллмана с фиксированным 1024-битным премьер. Совместимость с большинством старых клиентов следует поддерживать с помощью метода diffie-hellman-group14-sha1, в котором используется 2048-битное фиксированное простое число. Мы рекомендуем перенастроить старые SSH-клиенты на новые версии, поддерживающие ECDH и ECDSA.

Похоже, вам нужно изменить настройки и разрешить 1024-битные фиксированные простые методы обмена ключами Диффи-Хеллмана. В противном случае вы не сможете подключиться. Как объяснено, конечно, лучше изменить настройки сервера ssh.

Также обратите внимание, что возможен запуск в качестве службы. С его помощью туннель может быть запущен даже без входа пользователя в систему и может быть перезапущен после отбрасывания.

Имейте в виду, что упаковка и запуск stnlc как услуга (например, с использованием. nssm или winsw) абсолютно необходимо добавить unat=y возможность запретить сервису стать интерактивным и дать сбой.

Я получил ту же ошибку при работе с BitWise Tunnelier:

Соединение SSH прервано с ошибкой. Причина: Класс ошибки: LocalSshDisconn, код: KeyExchangeFailed, сообщение: FlowSshTransport: нет взаимно поддерживаемого алгоритма обмена ключами.

Для меня решением было увеличить минимальные биты DH gex на вкладке SSH с 1023 до 2047.

Серверная часть претерпела некоторые изменения/обновления.

Другие вопросы по тегам