私はnode.jsのSSHプロトコルの非常に単純な&軽量クライアント実装を作成しようとしています。SSHのドキュメントの混乱
次のドキュメントは完全に私を混乱させる: http://www.snailbook.com/docs/transport.txt
それは全体の鍵交換の事の完全な例を欠いています。よく説明されていることはたくさんありますが、私はそれらのことをどのようにまとめていくのか本当に分かりません。
例をまとめてもらえますか?
セクション7.1の後に固まっています。私は正常にサーバーのalorightmsのリストを受信し、私はサーバーに必要なアロリックだけでリストを送信します。また成功した。だから、
、このケースでは、我々は次のようalorightmsあります
- KEX:ディフィー・ヘルマン-GROUP1-SHA1
- キー:
- のssh-DSS暗号化:3DES-CBC
- マック:hmac-sha1
その後、セクション7.2と7.3をスキップして、キーを生成するには値H & Kで、セクション8で生成されます。
セクション8はわかりません。これは、クライアントの両方が同じプライム、ジェネレータおよび注文値をすでに知っていることをサーバがクライアントに要求します(&)。それらの価値が交渉されたとき、お互いに送られましたか?セクション8 clearyはアルゴリズム交換に直接従うと言いますので、それらのステップの間には何もありません。 何か不足していますか?
本当にありがとうございました!
AHH! diffie-hellman-group1-sha1は実際にはこの単一の素数を得る手続きですか?それはこれまでと同じプライムですか? –
いつも同じ素数ですね。 – ruakh
また、この素数のqは何ですか? –