Не удается подключиться к openssh с помощью модуля otp ssh

Я пытаюсь использовать модуль ssh erlang для подключения к серверу openssh (версия: SSH-2.0-OpenSSH_6.7p1 Debian-6). Сервер OpenSSH использует конфигурацию по умолчанию

Делаем следующее:

ssh:connect(Server, 22, [MyFancyOptions])

Дает:

Selection of key exchange algorithm failed

Действительно, посмотрев Wireshark, я увидел, что алгоритмы обмена ключами, предлагаемые erlang-клиентом:

diffie-hellman-group1-sha1

и сервер:

[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1

не совпадает...

Вопрос: Есть ли способ подключиться к ssh-серверу в erlang?

PS. да я видел

%% TODO: diffie-hellman-group14-sha1 should also be supported.
%% Maybe check more things ...
verify_algorithm(#alg{kex = 'diffie-hellman-group1-sha1'}) ->

Но не говорите мне, что святой Erlang не справляется с современным ssh...


person lakier    schedule 02.07.2015    source источник


Ответы (2)


Да, похоже, вам нужно расширить свой сервер, чтобы предлагать дополнительные KexAlgorithms, поэтому что-то вроде:

KexAlgorithms [email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group1 -ша1

НО... Сделав это, у меня ничего полезного не получается. В логах вижу ошибку:

sshd[8026]: dispatch_protocol_error: тип 30, последовательность 7

Итак, похоже, что у модуля Erlang ssh есть серьезные проблемы с современным ssh...

person The Wildgoose    schedule 14.07.2015

Клиент Erlang ssh в OTP 15 будет работать с сервером openssh-6.7, если вы настроите openssh на значения по умолчанию openssh6.0 в /etc/ssh/sshd_config, например:

Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour
KexAlgorithms ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1

Клиент Erlang ssh поддерживает только шифры aes128-cbc, 3des-cbc, которые не включены по умолчанию в openssh-6.7, по крайней мере, не в пакете Openssh Debian.

person Yury    schedule 26.04.2016