哪一方将在SSH传输层协议中启动版本协商?

时间:2013-04-25 02:06:13

标签: ssh

在SSH传输层协议规范http://www.ietf.org/rfc/rfc4253.txt,“4.2。协议版本交换”一节中,它说:“当建立连接时,双方必须发送一个标识字符串。”。

但它没有定义哪一方应该启动这个过程,服务器端还是客户端?

这里有一些观察,

  1. http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_12-4/124_ssh.html,“图2:SSH传输层协议数据包交换”中,客户端启动交换过程。

  2. 我尝试使用JSCH作为客户端连接服务器,这是快照。服务器端首先发送SSH协议版本。 enter image description here

  3. 这是一个问题,JSCH和SSH服务器都不发送协议版本。 TCP连接在93,94,95包中设置.5秒后,服务器端关闭包99中的连接。

    你能帮助弄清楚为什么客户端和服务器都不发送协议版本?非常感谢!

    enter image description here

    此致 乔伊

2 个答案:

答案 0 :(得分:0)

  

但它没有定义哪一方应该启动这个过程,服务器端还是客户端?

正确。由于双方都必须发送它,而且两者都没有被定义为对另一方的回应,所以首先这样做是无关紧要的。

答案 1 :(得分:0)

是的,我们发现某些cisco包不会发送其版本字符串 没有收到客户端的版本字符串。 最近的jsch版本将立即发送。