SSL和SSH的不同

SSH和SSL都可用于保護Internet上的通信。本本試圖以容易理解的術語解釋兩者之間的差異。

SSL旨在保護網絡會話;它可以做得更多,但這就是它本來的意圖。
SSH旨在替代telnet和FTP;它可以做得更多,但這就是它本來的意圖。

SSL是具有多種用途的插件。它的前端HTTP為你提供HTTPS。它還可以為POP3、SMTP、IMAP以及任何其他良好的TCP應用程序執行此操作。對于從頭開始創建網絡應用程序的大多數程序員,只需抓取SSL實現并將其與其應用程序捆綁在一起,即可在通過TCP進行網絡通信時提供加密,這是非常簡單的。

SSH相當于瑞士軍刀,旨在做許多不同的事情,其中大部分都圍繞在主機之間建立安全通道。SSH的一些實現依賴于SSL庫——這是因為SSH和SSL使用許多相同的加密算法(如TripleDES)。

對比于HTTPS基于SSL,SSH不是基于SSL的。SSH不僅僅是SSL,而且不能相互交流——兩者是不同的協議,只是它們在實現類似目標方面有一些重疊。

SSL本身并沒有給你什么——只有握手和加密。你需要一個應用程序來驅動SSL才能完成實際工作。

SSH本身做了很多有用的東西,允許用戶執行實際的工作。SSH的兩個主要方面是控制臺登錄(替換telnet)和安全文件傳輸(替換FTP),但你還可以通過隧道(安全)其他應用程序的功能,使用戶能夠通過SSH隧道運行HTTP、FTP、POP3以及任何其他應用程序。

沒有來自應用程序的關心的流量,SSL什么都不做,而SSH會在兩臺主機之間創建一個加密隧道,這樣可以通過交互式登錄shell、文件傳輸等方式完成實際工作。

最后評論:HTTPS沒有擴展SSL,它是使用SSL安全地執行HTTP。SSH比SSL做得更多,您可以通過SSH隧道HTTPS!只是因為SSL和SSH都可以做TripleDES并不意味著一個就要基于另一個。

總而言之,SSL提供了握手和加密手段,不是一個獨立的應用層協議,可以基于它修改現有的應用使之安全,而SSH是基于SSL之上的應用層協議,跟一般的通過SSL加密的應用層協議只是簡單的修改socket接口替換為ssl接口的機制不同,SSH是一個完全替換telnet和ftp的應用,并且可以基于之上使用端口轉發功能為其他應用層提供安全通道。

轉載自:http://blog.sina.com.cn/s/blog_54829c230102wa98.html

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容