openssh 和 openssl 是什么关系

来源:互联网 发布:淘宝旺旺手机版 编辑:程序博客网 时间:2024/04/28 08:39

A问: 为什么安装openssh的时候要安装openssl,是不是也可以不用安装openssl ?

         网上查了下有说openssl是协议,这样的话那还要openssl做什么?  openssh实现这个协议不就好了?


B答: 实现openssl当然没问题,
           问题是openssl是不好实现的~
           有现成的为什么不用, 
             实现个有很多Bug的openssl是暄宾夺主了。


C答:openssl 不是协议,而是对协议的实现,SSL/TLS 才是协议。

           openssl(1) 说的很清楚:
                 OpenSSL is a cryptography toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer
                 Security (TLS v1) network protocols and related cryptography standards required by them.


A追问B:看到这句话我能明白点了 “OpenSSH (OpenBSD Secure Shell) 是一套使用ssh协议,通过计算机网络,提供加密通讯会话的计算机程序”
                openssl是一种加密方式,openssh程序只是利用了这种方式罢了

                 这么理解对不对?

B答:对, 而且实现一个ssl很折腾, 不比实现ssh简单(如果要求高效, 无错,可能更复杂)这也就是为什么ssh不会自己去实现一个ssl,而是使用openssl的原因。


A追问C:那也就是说openssl也是实现安全套接字层(SSL v2/v3)和传输层安全(TLS v1)的工具

               那openssh就是用这个openssl工具实现的安全?

C答:  ssh 利用 openssl 提供的库。openssl 中也有个叫做 openssl 的工具,是 openssl 中的库的命令行接口。
             openssh依赖于openssl,没有openssl的话openssh就编译不过去,也运行不了。
             貌似openssl目前还是用得比较广泛的,chrome, opera浏览器都是用的这个库







原创粉丝点击