close

按此前往linux完整教學目錄

 

 

ssh(secure shell protocol) :

※ 前註:筆者使用的Linux版本是Ubuntu10.04,並且使用:

apt-get install openssh-server

來安裝sshssh的服務名稱正是「ssh」,故安裝完後,可用:

service ssh status來查看ssh是否安裝成功、是否有啟動。

 

ssh連線的加密機制簡介:

ssh連線之所以較具有保密性,是因為其對雙方傳輸的資料進行加密(encryption) ,且只有資料接收者自己才有能力解密(decryption) 。所以,就算資料在傳輸途中被有心人士竊取,該有心人士既無能解密,也就不會有洩密問題。其機制,稱為「非對稱式加密(asymmetric encryption)」,說明如下:

設今有一主機A要和主機B連線,則主機A在連線之前會用一種「RSA演算法」產生一對「鑰匙」,包括「公鑰(public key)」和「私鑰(private key)」:

公鑰:由主機A對外發送,網路上的任何人都可以取得(當然主機B也可以取得)。乃是用來加密的,不能解密。

私鑰:由主機A自己保存,且不能外洩給任何人知道。乃是用來解密的。

而主機B在獲得A的公鑰(簡稱公鑰A)後,可以藉由RSA演算法、來利用公鑰A為資訊加密,然後將加密後的資訊傳給A。而此資訊只有私鑰A能解密,就算是公鑰A也不能解密,且無法由公鑰A去推算出私鑰A。如此,確保了此資訊只有發送端B與接收端A能知道,大大增加了保密性。

而由於連線是雙方互傳訊息,故B也同樣要製作一對公鑰B和私鑰B,將公鑰B發送出去,而將私鑰B妥善保存。由此可知,每一次的連線中,雙方都要產生公鑰和私鑰,共計四把鑰匙。

※ 順便一提:目前,ssh有兩個版本(version 1version 2),兩者都使用非對稱式加密,而version 2比較先進、也更為安全,可盡量利用。

※ 註一:要利用ssh向對方連線,要先確認這個「對方」是否有提供ssh服務。通常,我們稱「有提供ssh服務的主機」為「ssh伺服器」。

※ 註二:「保密性」與「安全性」並非同一個概念。ssh連線機制雖具保密性,但卻曾被發現有安全性上的漏洞。使用ssh,除非是要架設一個ssh伺服器,否則若只是單純想利用遠端連線來操控遠端主機,最好是在防火牆中限定能從遠端登入的IP,勿讓ssh對整個網際網路上的不明連線都「來者不拒」。

 

 

上一篇:linux ftp連線

下一篇:linux 使用ssh連線實際操作

arrow
arrow
    創作者介紹
    創作者 埃伯 的頭像
    埃伯

    程式語言教學

    埃伯 發表在 痞客邦 留言(0) 人氣()