SSH 為Secure Shell的縮寫强法,SSH 為建立在應(yīng)用層基礎(chǔ)上的安全協(xié)議。SSH最初是UNIX系統(tǒng)上的一個(gè)程序卤妒,后來又迅速擴(kuò)展到其他操作平臺息尺。SSH在正確使用時(shí)可彌補(bǔ)網(wǎng)絡(luò)中的漏洞。SSH客戶端適用于多種平臺嵌戈。幾乎所有UNIX平臺—包括HP-UX覆积、Linux、AIX熟呛、Solaris宽档、DigitalUNIX、Irix庵朝,以及其他平臺吗冤,都可運(yùn)行SSH。
傳統(tǒng)的網(wǎng)絡(luò)服務(wù)程序九府,如:ftp椎瘟、pop和telnet在本質(zhì)上都是不安全的,因?yàn)樗鼈冊诰W(wǎng)絡(luò)上用明文傳送口令和數(shù)據(jù)侄旬,別有用心的人非常容易就可以截獲這些口令和數(shù)據(jù)肺蔚。而且,這些服務(wù)程序的安全驗(yàn)證方式也是有其弱點(diǎn)的儡羔, 就是很容易受到“中間人”(man-in-the-middle)這種方式的攻擊宣羊。所謂“中間人”的攻擊方式璧诵, 就是“中間人”冒充真正的服務(wù)器接收你傳給服務(wù)器的數(shù)據(jù),然后再冒充你把數(shù)據(jù)傳給真正的服務(wù)器仇冯。服務(wù)器和你之間的數(shù)據(jù)傳送被“中間人”一轉(zhuǎn)手做了手腳之后之宿,就會出現(xiàn)很嚴(yán)重的問題。通過使用SSH苛坚,你可以把所有傳輸?shù)臄?shù)據(jù)進(jìn)行加密澈缺,這樣"中間人"這種攻擊方式就不可能實(shí)現(xiàn)了,而且也能夠防止DNS欺騙和IP欺騙炕婶。使用SSH姐赡,還有一個(gè)額外的好處就是傳輸?shù)臄?shù)據(jù)是經(jīng)過壓縮的,所以可以加快傳輸?shù)?a target="_blank" rel="nofollow">速度柠掂。SSH有很多功能项滑,它既可以代替Telnet,又可以為FTP涯贞、PoP枪狂、甚至為PPP提供一個(gè)安全的"通道"。
從客戶端來看宋渔,SSH提供兩種級別的安全驗(yàn)證州疾。
第一種級別(基于口令的安全驗(yàn)證)
只要你知道自己帳號和口令,就可以登錄到遠(yuǎn)程主機(jī)皇拣。所有傳輸?shù)臄?shù)據(jù)都會被加密严蓖,但是不能保證你正在連接的服務(wù)器就是你想連接的服務(wù)器⊙跫保可能會有別的服務(wù)器在冒充真正的服務(wù)器颗胡,也就是受到“中間人”這種方式的攻擊。
第二種級別(基于密匙的安全驗(yàn)證)
需要依靠密匙吩坝,也就是你必須為自己創(chuàng)建一對密匙毒姨,并把公用密匙放在需要訪問的服務(wù)器上。如果你要連接到SSH服務(wù)器上钉寝,客戶端軟件就會向服務(wù)器發(fā)出請求弧呐,請求用你的密匙進(jìn)行安全驗(yàn)證。服務(wù)器收到請求之后嵌纲,先在該服務(wù)器上你的主目錄下尋找你的公用密匙俘枫,然后把它和你發(fā)送過來的公用密匙進(jìn)行比較。如果兩個(gè)密匙一致疹瘦,服務(wù)器就用公用密匙加密“質(zhì)詢”(challenge)并把它發(fā)送給客戶端軟件崩哩⊙睬颍客戶端軟件收到“質(zhì)詢”之后就可以用你的私人密匙解密再把它發(fā)送給服務(wù)器言沐。
用這種方式邓嘹,你必須知道自己密匙的口令。但是险胰,與第一種級別相比汹押,第二種級別不需要在網(wǎng)絡(luò)上傳送口令。
第二種級別不僅加密所有傳送的數(shù)據(jù)起便,而且“中間人”這種攻擊方式也是不可能的(因?yàn)樗麤]有你的私人密匙)棚贾。但是整個(gè)登錄的過程可能需要10秒。
層次
SSH 主要由三部分組成:
傳輸層協(xié)議 [SSH-TRANS]
提供了服務(wù)器認(rèn)證榆综,保密性及完整性妙痹。此外它有時(shí)還提供壓縮功能。 SSH-TRANS 通常運(yùn)行在TCP/IP連接上鼻疮,也可能用于其它可靠數(shù)據(jù)流上怯伊。 SSH-TRANS 提供了強(qiáng)力的加密技術(shù)、密碼主機(jī)認(rèn)證及完整性保護(hù)判沟。該協(xié)議中的認(rèn)證基于主機(jī)耿芹,并且該協(xié)議不執(zhí)行用戶認(rèn)證。更高層的用戶認(rèn)證協(xié)議可以設(shè)計(jì)為在此協(xié)議之上挪哄。
用戶認(rèn)證協(xié)議 [SSH-USERAUTH]
用于向服務(wù)器提供客戶端用戶鑒別功能吧秕。它運(yùn)行在傳輸層協(xié)議 SSH-TRANS 上面。當(dāng)SSH-USERAUTH 開始后迹炼,它從低層協(xié)議那里接收會話標(biāo)識符(從第一次密鑰交換中的交換哈希H )砸彬。會話標(biāo)識符唯一標(biāo)識此會話并且適用于標(biāo)記以證明私鑰的所有權(quán)。 SSH-USERAUTH 也需要知道低層協(xié)議是否提供保密性保護(hù)斯入。
連接協(xié)議 [SSH-CONNECT]
將多個(gè)加密隧道分成邏輯通道拿霉。它運(yùn)行在用戶認(rèn)證協(xié)議上。它提供了交互式登錄話路咱扣、遠(yuǎn)程命令執(zhí)行绽淘、轉(zhuǎn)發(fā) TCP/IP 連接和轉(zhuǎn)發(fā) X11 連接。