【发布时间】:2012-03-14 04:02:28
【问题描述】:
我正在尝试为 node.js 创建一个非常简单且轻量级的 SSH 协议客户端实现。
以下文档完全让我感到困惑: http://www.snailbook.com/docs/transport.txt
它缺少整个密钥交换的完整示例。有很多东西解释得很好,但我不确定如何将这些东西放在一起。
你能帮我举个例子吗?
我在第 7.1 节之后被卡住了。我成功接收到服务器的算法列表,然后我向服务器发送了一个仅包含所需算法的列表。也成功了。
所以,在这种情况下,我们有以下alorightms:
- kex: diffie-hellman-group1-sha1
- 密钥:ssh-dss
- 加密:3des-cbc
- mac:hmac-sha1
之后,我跳过了第 7.2 节和第 7.3 节,直接进入第 8 节,因为生成密钥需要第 8 节中生成的值 H 和 K。
但是第 8 节对我来说没有意义。它要求客户端和服务器都已经知道相同的素数、生成器和订单值。这些值何时被协商并发送给对方?第 8 节 cleary 说它直接遵循算法交换,因此这些步骤之间没有任何内容...... 我错过了什么吗?
非常感谢您的帮助!
【问题讨论】:
标签: javascript node.js ssh