關於遠端登入協議(Telnet,Rlogin,ssh)
Telnet是通過客戶端與伺服器之間的選項協商機制,實現了提供特定功能的雙方通訊。
如下圖所示,telnet客戶程序同時與終端驅動,TCP/IP協議模組進行互動,負責資訊的傳輸。
telnet服務程序負責與偽終端驅動,TCP/IP進行資料互動。所謂的為終端驅動就是實現一種登入外殼(shell)程式,效果就是和直接用本機終端敲入命令並直接執行一樣。
2)Rlogin
Rlogin最初是是現在unix系統中的遠端登入協議。由於客戶端程序和伺服器程序已經事先知道了對方的作業系統型別,因此也就省去了選項協商機制。
總的來說,它與telnet協議類似,不過內部實現要相對簡單。
3)SSH(Secure Shell)
上面所述的Telnet與Rlogin程式在傳輸機制上是有安全漏洞的,因為它們在傳輸資料時使用明文機制;如果有人在網路上進行截獲這樣的資料,那麼一些重要的資料將會不可避免的洩露。
而SSH相對來說有兩個優點:(1)SSH是比較可靠的的遠端登入和其他安全服務的協議,它採用了資料加密機制,能夠防止DNS欺騙和IP欺騙。(2)所傳輸的資料是經過壓縮的,因此相對來說加快了傳輸速度。
SSH協議是建立在應用層和傳輸層上的安全協議,主要包括三個部分:(1)傳輸層協議內容,提供認證,資料的完整性檢查等功能。(2)使用者認證協議層,它執行在傳輸層上,主要實現了通訊過程中的身份認證,認證方式包括口令認證,金鑰認證等。(3)連線協議層,負責分配加密通道到邏輯通道上,執行在使用者認證協議層上。
SSH協議可以替代以一些例如Telnet,ftp一些傳統網路程式協議,在不安全的通訊環境中提供了比較可靠的資料保護機制。
本文轉自:http://blog.csdn.net/moxiaomomo/article/details/6849706