做一个个人研究项目,我想知道:为什么SSH要进行自己的机制协商,而不是使用SASL呢?起初,我认为这可能是为了确保整个会话的机密性,但就维基百科页面而言,它看起来应该由“传输”层来处理,就像TLS+SASL中存在的那样。
我的问题是:为什么ssh不能先做一个密钥交换,然后在建立通道(S)之前通过隧道进行SASL谈判,这有什么技术原因吗?
发布于 2013-06-18 20:34:39
SSH实现不能使用SASL和TLS,因为这样它们就不再遵循SSH协议了。
SSH协议不使用SASL,因为它早于SASL,或者至少广泛采用SASL。在SSH易于获得并被广泛使用之后,人们对做SSH所做但使用SASL和TLS的事情并不感兴趣。
但是,使用SASL和TLS实现“安全的telnet”是可能的。
维基百科对此表示:“与其他早期互联网协议一样,Telnet协议的扩展提供传输层安全(TLS)安全和简单身份验证和安全层(SASL)身份验证,以解决上述问题。然而,大多数Telnet实现不支持这些扩展;实现这些扩展的兴趣相对较小,因为SSH在大多数情况下都足够。”
http://en.wikipedia.org/wiki/Telnet#Security
https://unix.stackexchange.com/questions/79889
复制相似问题