Я пытаюсь создать очень простую и легкую реализацию клиента протокола SSH для node.js.
Следующая документация смущает меня полностью:
http://www.snailbook.com/docs/transport.txt
В нем отсутствует полный пример всей процедуры обмена ключами. Есть много хорошо объясненных вещей, но я не совсем уверен, как соединить эти вещи.
Не могли бы вы помочь мне собрать пример?
Я застрял после раздела 7.1. Я успешно получаю список alorightms сервера и отправляю на сервер список только с необходимыми alorithms. Также успешно.
Итак, в этом случае мы имеем следующие alorightms:
- kex: diffie-hellman-group1-sha1
- ключ: ssh-dss
- шифрование: 3des-cbc
- mac: hmac-sha1
После этого я пропустил разделы 7.2 и 7.3 и перешел непосредственно к разделу 8, поскольку для генерации ключа требуются значения H & K, которые генерируются в разделе 8.
Но раздел 8 не имеет смысла для меня. Это требует, чтобы и клиент, и сервер уже знали одно и то же простое число, генератор и стоимость заказа. Когда эти значения были согласованы и отправлены друг другу? В четком разделе 8 говорится, что он следует непосредственно за алгоритмом обмена, поэтому между этими шагами ничего нет ...
Я что-то упустил?
Большое спасибо за вашу помощь!