当我调试ssh时,发现有2种压缩方法:zlib和zlib@openssh.com。
debug2:compression ctos: none, zlib@openssh.com,zlib
debug2:compression stoc: none, zlib@openssh.com,zlib
那么2之间有什么区别吗?
答案 0 :(得分:0)
算法和方法名称有两种格式:
不包含符号(“ @”)的名称保留为 由IETF CONSENSUS分配。示例包括“ 3des-cbc”,“ sha-1”, “ hmac-sha1”和“ zlib”(双引号不属于 名称)。此格式的名称仅在名称为第一个时才有效 在IANA上注册。注册名称不得包含 符号(“ @”),逗号(“,”),空格,控制字符(ASCII 小于等于32的代码)或ASCII码127(DEL)。名称区分大小写 敏感字符,且不得超过64个字符。
任何人都可以使用名称定义其他算法或方法 格式为name @ domainname,例如“ ourcipher-cbc@example.com”。 未指定符号前面部分的格式; 但是,这些名称必须是可打印的US-ASCII字符串,并且必须 不包含逗号(“,”),空格,控件 字符(ASCII码为32或更少)或ASCII码127(DEL)。 他们必须只有一个签到。接下来的部分 签名必须是有效的完全限定域名[RFC1034] 由定义名称的个人或组织控制。名字 区分大小写,并且不得超过64个字符。它 取决于每个域如何管理其本地名称空间。它 应当注意,这些名称类似于STD 11 [RFC0822]电子邮件 地址。这纯粹是巧合,与无关 STD 11 [RFC0822]。
简而言之,一个没有签名的是正式版本,另一个是openssh制作的附加版本。
答案 1 :(得分:0)
来自https://www.openssh.com/manual.html
OpenSSH实施了一种压缩方法“ zlib@openssh.com”,该方法将启动压缩延迟到用户身份验证之后,以消除针对压缩代码进行预身份验证攻击的风险。在draft-miller-secsh-compression-delayed-00.txt中进行了描述。
简而言之,它执行相同的zlib压缩,但仅在成功通过身份验证后才开始压缩,这样可以防止某些类型的攻击。</ p>