openssh和openssl是什麼關係

長煙慢慢發表於2012-08-19

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瀏覽器都是用的這個庫


相關文章