SSH(Secure Shell)簡(jiǎn)介
企業(yè)越來(lái)越多地應(yīng)用SSH(Secure Shell)技術(shù)來(lái)進(jìn)行遠(yuǎn)程控制和數(shù)據(jù)傳輸工作,主要原因是其基于成熟的PKI(公鑰基礎(chǔ)設(shè)施,Public Key Infrastructure)技術(shù),并且實(shí)現(xiàn)起來(lái)較為輕便。本文將詳細(xì)介紹企業(yè)如何應(yīng)用SSH進(jìn)行數(shù)據(jù)傳輸及遠(yuǎn)程控制通道加密。
SSH原理
SSH協(xié)議是建立在應(yīng)用層和傳輸層基礎(chǔ)上的安全協(xié)議,其主要由以下三部分組成,共同實(shí)現(xiàn)SSH的安全保密機(jī)制:
傳輸層協(xié)議。該協(xié)議提供諸如認(rèn)證、信任和完整性檢驗(yàn)等安全措施,此外還可以任意地提供數(shù)據(jù)壓縮功能。通常情況下,這些傳輸層協(xié)議都建立在面向連接的TCP數(shù)據(jù)流之上。
用戶認(rèn)證協(xié)議層。用來(lái)實(shí)現(xiàn)服務(wù)器的跟客戶端用戶之間的身份認(rèn)證,其運(yùn)行在傳輸層協(xié)議之上。
連接協(xié)議層。分配多個(gè)加密通道至一些邏輯通道上,它運(yùn)行在用戶認(rèn)證層協(xié)議之上。
SSH是由客戶端和服務(wù)端的軟件組成的,有兩個(gè)不兼容的版本分別是:1.x和2.x。用SSH 2.x的客戶程序是不能連接到SSH 1.x的服務(wù)程序上去的。OpenSSH 2.x同時(shí)支持SSH 1.x和2.x。
從客戶端來(lái)看,SSH提供兩種級(jí)別的安全驗(yàn)證。
1) 第一種級(jí)別(基于口令的安全驗(yàn)證):只要用戶知道自己賬號(hào)和口令,就可以登錄到遠(yuǎn)程主機(jī)。所有傳輸?shù)臄?shù)據(jù)都會(huì)被加密,但是不能保證用戶正在連接的服務(wù)器就是用戶想連接的服務(wù)器。可能會(huì)有別的服務(wù)器在冒充真正的服務(wù)器,也就是受到“中間人”這種方式的攻擊。
2) 第二種級(jí)別(基于密鑰的安全驗(yàn)證):需要依靠密鑰,也就是用戶必須為自己創(chuàng)建一對(duì)密鑰,并把公用密鑰放在需要訪問(wèn)的服務(wù)器上。如果用戶要連接到SSH服務(wù)器上,客戶端軟件就會(huì)向服務(wù)器發(fā)出請(qǐng)求,請(qǐng)求用用戶的密鑰進(jìn)行安全驗(yàn)證。服務(wù)器收到請(qǐng)求之后,先在用戶在該服務(wù)器的家目錄下尋找用戶的公用密鑰,然后把它和用戶發(fā)送過(guò)來(lái)的公用密鑰進(jìn)行比較。如果兩個(gè)密鑰一致,服務(wù)器就用公用密鑰加密“質(zhì)詢”(challenge)并把它發(fā)送給客戶端軟件??蛻舳塑浖盏?ldquo;質(zhì)詢”之后就可以用用戶的私人密鑰解密再把它發(fā)送給服務(wù)器。用這種方式,必須知道自己密鑰的口令。但是,與第一種級(jí)別相比,第二種級(jí)別不須要在網(wǎng)絡(luò)上傳送口令。第二種級(jí)別不僅加密所有傳送的數(shù)據(jù),而且“中間人”這種攻擊方式也是不可能的(因?yàn)樗麤](méi)有用戶的私人密鑰)。#p#
快速安裝OpenSSH
要安裝最新版本的OpenSSH,可以從網(wǎng)站http://www.openssh.com/上下載其發(fā)布的最新版本openssh-6.1p1.tar.gz然后按照如下命令進(jìn)行安裝即可:
(1)解壓縮源碼包
#tar xzvf openssh-6.1p1.tar.gz
(2)預(yù)編譯,生成makefile文件
#cd openssh-6.1p1
#./configure
(3)安裝
#make
#make install
安裝完成了之后,可以使用下述命令(Red Hat和Fedora系列)進(jìn)行啟動(dòng):
#service sshd start
或者命令(Ubuntu系列):
#/etc/initd/sshd start