2016-01-09 1 views
0

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

+0

* Отсутствует взаимно поддерживаемый алгоритм обмена ключами * сервер поддерживает разные Kex, чем ваш клиент. Что Kex используется при подключении с помощью графического интерфейса. Должен быть какой-то журнал. – Jakuje

ответ

2
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 Server Version History Я читаю:

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

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

+1

Я добавил diffie-hellman-group1-sha1 в свой профиль, и это сработало! Благодаря! – FlySoFast