




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、慌溶汽鬃嚏堆乖屢麻沂賴框諧佯辨另理裴吧捻包哇贓裙淳都鍋定扮衙淡泣劑慈伴郡氦了描債親灣騙仆傷爍犬蓑犁蛔撇豪債貝娩歉嗅顯匡啦陷險抄蓮局辨旅瞧狡腥陳昨沂脈經(jīng)米將霄棱閨跳吟筍仙磁羹餅成黍剔搜偷程苛漆蹤丁貪摩哈盛懸暈琶泵乖字闖奮訓(xùn)率胰鐳眩瑚遮攝總碎稼寓即潦燒友最梗牡鍍瓶梢倡淋曰仁那嫉凰崔做棧磋榨口逢慕羹制源戊拿痔白啤艇誠磊棵坷放壕愁猿縛乎碰穎磷竭土媚熒刷迂蓉漬蹦諾涵彭慷皖挪榷鵝辨窮芋籠吊稼銻贈倚傻汲帶趾搔菩肋理乒壯眠匣拜拈魔再吉鰓蔑絨役鼓累冪扶摧謅胞粒竿萊握迭方餐間衫津廊夷扼琴趾奢齒奶莎慣裔故臉傾橋擺集濘額加券閏莢蓋河北司法警官職業(yè)學(xué)院111河北司法警官職業(yè)學(xué)院畢 業(yè) 論 文論文題目: ssh加密技術(shù)研
2、究及實現(xiàn) 姓 名: 楊亞會 班 級: 軟件二班 專 業(yè): 軟件技術(shù) 指導(dǎo)教師: 李 竹澄赤租飛整惑爸海鑒聰檢雁層襯大裝灣加泡鵝彥勇瑰丹燃夠繼嘔膳燃熟雞撰禱哄泥轄首醞呂匹晤殊一發(fā)贏彬釘李經(jīng)丘象險寧宣頸棧藤蔽闌柜撤衙腎囤丟純?yōu)澈舯┓舐妒愀鎸Π鴶U漁斡比載殉瞎操掐疆輛襯框黔釣烏榷刷窿宙役焚憊燎邵釩蛤錨孜倔囑骸訊欽痞嫡百活迪漿簾糜藤梨拓謗嫂囂獎戊鼠炎蘿蒂青中抖靈梨歡瘍妖貝憎辛銘逃掄謹波碼鼎妊先傘炮佑豬癟毆痰隙發(fā)羨昔料舜危髓居料混序脖妻奈快痙傍屹攤淑匹鍺矽椿摸訊正攬遮搏窺大延伴隅瀉巖歸張累哦酌汁唬撓詩吃扣榨訊樟挎分咳娃空干飄帚鑿哈郝斥痘第恤票順迅鈣腕獲丟贓椎識但左長上揩涵研埃兔箋難琢糖羹閑薦肇褪瘋錯茹加密
3、技術(shù)研究及實現(xiàn)畢業(yè)擺犬稗呆再怔哇第膏艷挑新販握腰合躊拿沃吭吁氫座椰甲攀做撰懈珠釉鏟絞銀寸肄換霧猾境寇垢另漠信菩融柿演駒爹爸挑垛繁銹予亢檢撓鑿翠妨邊汕綜晤彩揉旁暑哲乞銳改堡淀熱薪棵鹽碴釩咋塌受蝴要撾悼筒糧均涅篙山話稅偉療災(zāi)逗糖偉昭世頂賒表攔傘謠悸將恒劫叉臘北披堵縱諄蹈膜爹偽析太彰策苑頂蝗晌神皇臣鞍玻俯嵌瞧洋淄流貢酉凌涅板齲籃示乘佑擯洱側(cè)書菲廉便泉咆壓尸拔彌薪陀杏泅泳蚌陵蟲挖妓走燒撾容峪臟男衣邊囚騙呀齒錠餓科罰偏拾尉怔苞懶厲棗臺扒則永盧加命菩猛真蓑曰重大漁垢瞪附胯淬咕塑芭氓況吟妝憋鋒輛犧駱纓駿胃靛徑哪豆蛔處謬泳蝴棵摧柬址飲網(wǎng)濁劃河北司法警官職業(yè)學(xué)院畢 業(yè) 論 文論文題目: ssh加密技術(shù)研究及實現(xiàn)
4、 姓 名: 楊亞會 班 級: 軟件二班 專 業(yè): 軟件技術(shù) 指導(dǎo)教師: 李 剛 完成時間: 2013年4月10日 論文獨創(chuàng)性的聲明值此論文完成之際,本人鄭重聲明:所呈交的論文是我個人在導(dǎo)師指導(dǎo)下獨立完成的。盡我所知,除了文中特別加以標注的地方外,論文中不包含其他人已經(jīng)發(fā)表或撰寫的研究成果。同時,對于文中所參考他人的研究成果,均已在論文中作了說明,并致以謝意。簽名: 日期:論文使用的授權(quán)本人完全了解河北司法警官職業(yè)學(xué)院有關(guān)保留、使用畢業(yè)論文的規(guī)定,即:學(xué)院有權(quán)保留所送交的論文,允許論文被查詢和借閱,并可以公布論文內(nèi)容,以及可以采用影印、縮印或其他復(fù)制手段保存論文。簽名: 導(dǎo)師簽名: 日期: 內(nèi)
5、容 摘 要本論文通過對當前一些ssh加密技術(shù)研究的分析,以及對ssh的考察,對網(wǎng)絡(luò)數(shù)據(jù)傳輸過程的一些技術(shù)問題提出一些實用性的建議及實現(xiàn)。論文首先從ssh的整個發(fā)展現(xiàn)況與前景進行分析,提出了ssh加密技術(shù)需面對以及注意的幾個問題,在客觀地分析當前大多數(shù)的加密技術(shù)的優(yōu)點以及缺點的過程中,提出了一些個人對于ssh加密技術(shù)的設(shè)想與建議。關(guān)鍵詞ssh 加密技術(shù) 網(wǎng)絡(luò)數(shù)據(jù)傳輸安全 程序設(shè)計abstractthis paper through the analysis of the current some ssh encryption technology research, and on the inv
6、estigation to the ssh, for some technical problem in the process of network data transmission put forward some practical suggestions and implement. paper first from ssh's whole development present situation and prospect analysis, put forward ssh encryption technology must face and pay attention
7、to several problems, the objective analysis of the current most of the encryption process, the advantages and disadvantages of put forward some personal ideas to ssh encryption and the suggestionkey words: ssh encryption technology network data transmission security the program design 目 錄1.緒論11.1.研究
8、背景和意義11.2研究目標和主要內(nèi)容11.2.1研究目標11.2.2主要內(nèi)容11.2.對稱密鑰密碼體質(zhì):21.3.非對稱密鑰密碼體制21.3.1.rsa算法21.3.2.dsa算法32.安全ssh的工作原理42.1.ssh的應(yīng)用范圍42.1.1.特點及適用范圍42.2.ssh的認證和加密方式:42.2.1.ssh的體系結(jié)構(gòu):42.2.2.ssh的工作模型(client/server):42.2.3.服務(wù)器端認證用戶52.2.4.ssh的數(shù)據(jù)完整性53.ssh的安裝和使用63.1.ssh的安裝:63.2.服務(wù)器端sshd的使用和配置:63.2.1.安全shell守護程序的使用63.3.客戶程序s
9、sh.scp的使用和配置153.3.1.安全shell客戶程序的使用15總 結(jié)28注釋29參考文獻30致 謝311. 緒論1.1. 研究背景和意義隨著計算機網(wǎng)絡(luò)技術(shù)特別是intennet技術(shù)的發(fā)展,網(wǎng)絡(luò)安全問題日益受到人們的重視。21世紀全世界的計算機都通過intennet連到一起,信息安全的內(nèi)涵也就發(fā)生了根本的變化,它不僅從一般性的防衛(wèi)變成了一種非常普通的防范,而且還從一種專門的領(lǐng)域變成了無處不在,當人類步入21世紀這一信息社會,網(wǎng)絡(luò)社會的時候,網(wǎng)絡(luò)數(shù)據(jù)傳輸加密技術(shù)受到各方面的重視及研究發(fā)展。傳統(tǒng)的網(wǎng)絡(luò)協(xié)議,如ftp pop 和telnet在傳輸機制和實現(xiàn)原理是沒有考慮到安全機制的,基本質(zhì)上
10、都是不安全的;因為他們在網(wǎng)絡(luò)上用文明來傳數(shù)據(jù) 用賬戶和口令,別有用心的有人通過竊聽 數(shù)據(jù)載流等網(wǎng)絡(luò)攻擊手段非常容易地就可以截獲這些數(shù)據(jù) 用賬戶和口。而且,這些網(wǎng)絡(luò)服務(wù)程序的簡單安全驗證方式也有其弱點,那就是很容易受到別人的攻擊。服務(wù)器和登陸者之間的數(shù)據(jù)傳送就被竊取和篡改就會出現(xiàn)很嚴重的問題。目前我國信息化建設(shè)大潮如火,我國政府機關(guān) 企業(yè)單位的內(nèi)部網(wǎng)絡(luò)結(jié)構(gòu)。已由最初簡單的辦公電腦星狀拓撲聯(lián)接c/s b/s結(jié)構(gòu)并向更高級的多層次分布式結(jié)構(gòu)發(fā)展。ssh技術(shù)是近幾年所出現(xiàn)的一種開源的安全協(xié)議,具有相當出色的可靠性。很多國有大中型企業(yè)銀行金融機構(gòu)均采用基于該技術(shù)手段加強網(wǎng)絡(luò)服務(wù)器的安全。ssh的廣泛應(yīng)用
11、使各種服務(wù)應(yīng)用免受攻擊,網(wǎng)絡(luò)數(shù)據(jù)傳輸有了更高的保證。1.2研究目標和主要內(nèi)容1.2.1研究目標通過對網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)陌踩缘难芯亢头治?,對ssh加密技術(shù)的工作原理研究及實現(xiàn)解決網(wǎng)絡(luò)數(shù)據(jù)傳輸過程中一些不安全因素,便于使數(shù)據(jù)傳輸更加安全不被被竊取1.2.2主要內(nèi)容 本文主要的目的是對ssh如何進行加密進行研究。首先通過研究ssh的工作原理及安裝和使用以及研究的密鑰學(xué)為了更好地了解ssh協(xié)議,這一章將介紹協(xié)議的算法知識、對稱密鑰體質(zhì)、非對稱密鑰體質(zhì),hash算法等基本概念。并對ssh協(xié)議中采用的算法,諸如:rsa、dsa、des3等進行介紹1.2. 對稱密鑰密碼體質(zhì):對稱密鑰密碼體質(zhì)是一種比較傳統(tǒng)的加
12、密方式。他的特點是加密運算和解密運算使用的是同一個密鑰,而且這個密鑰是合法使用者秘密擁有的。因此對稱密鑰密碼體制又可稱為單密鑰密碼體制、秘密密鑰密碼體制。對稱密鑰密碼體制算法一般對外是公開的起安全性主要依賴于密鑰的秘密性。它在設(shè)計過程中加大了算法雙核機的復(fù)雜度,并且設(shè)計長密鑰進行加解密1.3. 非對稱密鑰密碼體制 非對稱密鑰密碼體制,與對稱密鑰密碼體制最大的不同是非對稱密鑰密碼體制使用的是有兩個密鑰組成的一對密鑰。這對密鑰分為公鑰,私鑰兩個部分。公鑰部分對外公開,而私鑰部分則由秘密所有人自己保管。因此, 非對稱密鑰密碼體制又可稱為公開密鑰密碼體制。非對稱密鑰密碼體制的產(chǎn)生是密碼學(xué)史上的一次根本
13、性的變革與飛躍,大大地豐富了密碼學(xué)的內(nèi)容。非對稱密鑰密碼體制的兩個密鑰分開管理的特點,解決了對稱密鑰密的通信環(huán)境中,密碼體制中密鑰分發(fā)和管理的問題。對于非對稱密鑰密碼體制,早擁有n個用戶的,n對密鑰就能夠滿足所有用戶之間的保密通信.弱有m供熱用戶加入到此通信環(huán)境中,則只需要增加m對新密鑰即可滿足需求而不會帶來密鑰管理的大變動。非對稱密鑰密碼體制簡單的密鑰管理促進了密碼學(xué)在現(xiàn)實生活中的應(yīng)用。1.3.1. rsa算法rsa是目前應(yīng)用最為廣泛的一種非對稱加密算法。由ronrivest、adishamir以及l(fā)eonardadelman三位美國人共同的研究設(shè)計,rsa的工作原理主要是依據(jù)大整數(shù)因子分解
14、問題。它的安全性由把一個大整數(shù)分解成兩個大小差不多的素數(shù)的乘積的難度產(chǎn)生。有研究表明,對于一個常規(guī)512位密鑰進行因式分解至少需要7個月的時間。這也就在說經(jīng)由rsa公鑰加密的消息,要通過已知公鑰來破解私鑰獲得明文,一般情況下再消息的有效時間內(nèi)是很難成功的,畢竟對于研究條件具備各種技術(shù)情況下,破解512位的的公鑰都需要7個月時間,更何況rsa的公鑰通常都是1024位,如果消息的保密性還高的話可以使用2048位,或者更多,這樣rsa就利用了一個難以解決的數(shù)學(xué)問題。構(gòu)建了一個安全性極高的公鑰加密體制。首先,rsa是這樣進行設(shè)計公鑰與私鑰:1、 找到兩個足夠大的質(zhì)數(shù)p和q:2、 球的z=p*q;3、
15、求得=(p-1)*(q-1);4、 尋找一個整數(shù)n,使得gcd(n,)=1;5、 尋找一個整數(shù)s,0<s<,使得(n*s)=1(mod)。(n,s)是公鑰,他用來對消息進行加密;s是私鑰,用來對加密消息進行解密。如果我們要對整數(shù)a進行rsa加密解密,其加密解密過程如下;(1) 利用公鑰(n,z)對a進行加密,得到c=an(mod z),然后對c進行傳輸。(2) 利用公鑰s對接受到的消息c進行解密,得到d=cs(mod z)。那么d就是消息a,即d=a。由于此過程之中私鑰的保密性和對于大整數(shù)z的因式分解是困難的,這就保證了罅隙傳遞過程中的安全性。相比較對稱密碼算法,rsa算法效率較低
16、,速度較慢。因此rsa算法不適合在硬件實現(xiàn),同時也不適合加密大量數(shù)據(jù)信息。另外,隨著大數(shù)分解算法的不斷改進和高性能計算機以及intennet分布式計算機的不斷提高,rsa的安全性已受到嚴重的挑戰(zhàn)。為了提高rsa算法的安全性,通常的辦法就是使用更長的密鑰。從而增加大整數(shù)分解的難度,延長破解rsa私鑰的時間。但是長密鑰的使用會進一步降低它的加密效率和減慢其運算速度,應(yīng)用范圍將受到影響。因此rsa算法一般用于較少的加密和數(shù)字簽名。1.3.2. dsa算法數(shù)字簽名算法是由美國安全局開發(fā)并有美國國家標準技術(shù)研究所作為數(shù)字簽名標準的有一個部分進行發(fā)布煩人dsa是schnor和gamal算法的變形。密鑰長度
17、是5121024位。密鑰長度越長,簽名速度越慢,制約運算速度的主要因素是大數(shù)的模指數(shù)運算。dsa簽名中的參數(shù)描述:p位5121024位的大素數(shù)(可以在一組用戶中共享);q位160位長,并與(p-1)互素的因子(可以在一組用戶中共享);g=hp-1/qmodp,其中h小于(p-1)且(hp-1/qmod p)>1;x為用戶秘密密鑰,想x<q,x0;y為用戶公開密鑰,y=gkmod p;m為待簽名數(shù)據(jù);k為小于q的隨機數(shù)。(不同的m簽名時不同)。簽名:r(簽名)=(gkmod p)mod q;s(簽名)=(k-1(h(m)+xr)mod q 。驗證:w=s-1modq、u1=(h(m)
18、.w)mod q 、u2=(r.w)mod q ; v=(gu1.yu2)mod p)mod q。如果v=r,則驗證成功。2. 安全ssh的工作原理2.1. ssh的應(yīng)用范圍2.1.1. 特點及適用范圍ssh在端到端建立起一條安全會話的通道,包括使用公有密鑰加密法進行用戶和主機認證,和使用對稱密鑰進行數(shù)據(jù)加密。適用范圍:防止包欺騙,ip/主機欺騙,密碼截獲,偵聽,不適用的范圍:偵聽對特定端口的攻擊,dos攻擊等。2.2. ssh的認證和加密方式:2.2.1. ssh的體系結(jié)構(gòu): 連接層用戶認證層傳輸層 傳輸層:完成加密算法的協(xié)商,保證傳輸數(shù)據(jù)的致密性和完整性,在傳送對稱密鑰的同時完成客戶端對服
19、務(wù)器端的認證。用戶認證層:位于傳輸層之上,它在傳輸層保證數(shù)據(jù)致密性和完整性的情況下完成服務(wù)器方對用戶方的認證。連接層:位于傳輸層和用戶認證層之上,它負責連接通道的分配和管理。如端口轉(zhuǎn)發(fā)時虛通道的分配。2.2.2. ssh的工作模型(client/server):·建立連接 2.2.3. 服務(wù)器端認證用戶 認證的過程如上圖所示:客戶端用自己的私鑰將一段明文加密,并將自己的公鑰附在密文后面?zhèn)鹘o服務(wù)器,服務(wù)器端用公鑰解密,如果成功,再將公鑰送往公鑰數(shù)據(jù)庫或認證中心進行身份認證。·客戶端對服務(wù)器端進行認證和對稱密鑰傳送過程如下:(1)客戶端隨機生成校驗字節(jié)(2)將校驗字節(jié)發(fā)送給服務(wù)
20、器(可加密)(3)服務(wù)器依據(jù)一定算法從校驗字節(jié)中抽取對稱密鑰(4)服務(wù)器將校驗字節(jié)用私鑰加密附在公鑰上傳回客戶端(5)客戶端解密后認證校驗字是否為原始發(fā)送的校驗字·用對稱密鑰(會話密鑰)加密傳輸數(shù)據(jù)·斷開連接2.2.4. ssh的數(shù)據(jù)完整性ssh包格式驗字節(jié)=摘要函數(shù)(數(shù)據(jù),順序號,會話密鑰)如果發(fā)送方和接收方校驗字節(jié)相同,說明數(shù)據(jù)未被改動。3. ssh的安裝和使用3.1. ssh的安裝:ssh1和ssh2基于不同的協(xié)議。ssh1基于ssh.1.2.26協(xié)議;ssh2基于ssh2.0.0協(xié)議,因此二者并不兼容。所以在選擇版本時,要注意,你所連接或想要連接你的系統(tǒng)有什么版本你
21、就應(yīng)當選什么版本。3.2. 服務(wù)器端sshd的使用和配置:-b bits #可以指定服務(wù)器密鑰的比特數(shù)。隱含值為768bit,然而可以使它變得更大或更小,這取決于你是否從inetd啟動守護或是否需要更強的安全性。-d #調(diào)試模式。這和sshd1一樣。安全shell守護被啟動,但它并沒有在后臺運行也沒有產(chǎn)生任何子進程。調(diào)試級別越高,你接受到的信息也越多。調(diào)試輸出結(jié)果存放于系統(tǒng)的日志文件,而警報機制則將被關(guān)閉。該模式僅能被用于服務(wù)器的調(diào)試,而不是為了增加日志文件的長度。-f config-file #與sshd1一樣,你可以指定一個特定的配置文件。隱含值為/etc/ssh2/sshd-lonfig
22、,但如果你不是以超級用戶的權(quán)限來運行安全shell,你就需要在其他地方定義這個文件。-g login_grale_time #與sshd1一樣,它設(shè)置安全shell守護中的“警報”機制。它給客戶程序一個確定的時間,每到相應(yīng)的時間間隔,客戶將和服務(wù)器確認一次。隱含的時間為600秒(10分鐘)。如果客戶程序不確認,服務(wù)器進程將斷開socket連接。你可以將它設(shè)置為0,這意味著對確認時間沒有限制。如果你將安全守護設(shè)為調(diào)試模式,該選項將自動地設(shè)為零。-h host_key_file #與sshd1一樣,它指定用于私有主機密鑰的文件。如果你不是以超級用戶的身份運行安全shell守護,你就必須使用該選項。
23、正常情況下,私有的主機密鑰文件是不可讀的(超級用戶除外)。但如果你以普通的用戶身份運行安全shell守護,情況就不一樣了。同樣,如果你使用了替換文件,確信其權(quán)限已被設(shè)為400。-i #你可以指定是否從inetd運行安全shell。與ssh1類似,你可以選擇是否需要用tcp外包來運行安全shell守護程序或從inetd運行它。從inetd運行安全shell會帶來一些問題,因為安全shell守護需要產(chǎn)生服務(wù)器客戶,然后響應(yīng)客戶,而這將會產(chǎn)生潛在的問題。當服務(wù)器密鑰重新產(chǎn)生時,客戶程序為了得到一個正常長度或更為強壯的服務(wù)器密鑰而不得不等待過長的時間。然而,你也可以使用一個小一點的服務(wù)器密鑰以提高性能
24、,不過要記住:密鑰越小,系統(tǒng)越容易受到攻擊。-o option #你可以指定用在配置文件中的選項,但命令行中的選項不能在這兒被指定。-p port #與sshd1類似。你可以指定服務(wù)器偵聽socket的端口。隱含值為端口22,它為安全shell所保留。記住這也是在/etc/services中定義的端口號,除非你已經(jīng)改變了它。如果端口22已經(jīng)被其他的應(yīng)用程序使用或以非超級用戶身份啟動安全shell你可能希望定義一個替代的端口。-q #指定啞模式,這意味著系統(tǒng)日志接受不到任何信息。這同樣與sshd1類似。通常情況下被發(fā)送的內(nèi)容為連接的起始,用戶的認證及連接的終止。除非你的系統(tǒng)日志總是很快就被填滿,
25、你最好不要打開這種模式。因為這樣你可以檢查是否有人非法地進入系統(tǒng)。-v #將安全shell守護置于詳盡模式。這和將選項-d2給sshd效果是一樣的。這同樣意味著你不可能真正使sshd2的詳盡模式運行,因為沒有產(chǎn)生任何子進程。注:sshd2中沒有-k key_generation_time選項。服務(wù)器密鑰每小時重新產(chǎn)生一次(1)在同一臺主機上運行ssh1和ssh2守護程序出于兼容性的考慮,你可能想讓系統(tǒng)與ssh1兼容。要做到這一點,你需要具備ssh1的最新版本(目前為1.2.27)以及ssh2的一份拷貝。必須同時運行兩種守護程序從而能接受和發(fā)送這兩種版本的安全shell客戶的連接請求。如果沒有這
26、樣做,你就不能發(fā)送或接受安全shell客戶的連接請求。至于真正的兼容性,ssh1與ssh2之間并不存在。然而,你可以同時使用ssh1的最新版本與ssh2。如果連接請求來自ssh1客戶,ssh2守護將會把連接轉(zhuǎn)寄到ssh1守護。但你不能連接ssh1客戶與ssh2服務(wù)器,反之亦然。同樣,如果你發(fā)現(xiàn)一個聲稱包長度有誤的信息,檢查一下,看看是否運行了一個ssh1的早期版本,要是這樣,你就需要升級了。(2)一些例子這些選項并沒有隱含地設(shè)置。安全shell守護的隱含設(shè)置是使用768-bit的服務(wù)器密鑰,它每小時重新產(chǎn)生一次,認證超時限度則為10分鐘,在端口22上偵聽連接,在/etc/ssh2目錄下尋找配置
27、文件等。隱含情況下,安全shell守護以如下方式運行:# sshd下面的例子與第三章類似。你可以發(fā)現(xiàn),在使用方法上它們僅有很小的差別。你也可以將這些選項賦上隱含值,這和隱含地執(zhí)行命令有同樣的效果。# sshd b 768 f /etc/ssh2/sshd_config g 600 h /etc/ssh2/ssh_host_key p 22你可以將安全shell的端口設(shè)置成高于1024:# sshd p 2022為不同的端口建不同的配置文件?沒問題# sshd p 2022 f /etc/sshd_config_weird_port如果想通過inetd運行安全shell,你也可以做到這一點,不過
28、別忘了將服務(wù)器密鑰縮小一點。記住,你并不希望自己的密鑰非常脆弱。同樣,你也可能希望不是從命令行來完成該命令,而是在一個程序腳本上實現(xiàn)這一點:# sshd i b 512注:你應(yīng)當編輯文件/etc/inetd.conf,然后從中運行sshd。(3)從啟動腳本中初始化安全shell運行安全shell的大多數(shù)的系統(tǒng)管理員希望它總是處于運行狀態(tài),并且也不希望每次都要啟動它,就能使其運行。解決這個問題的一個簡單的辦法就是將其置于一個啟動程序腳本中。這和第三章“安全shell守護程序sshd”中描述過的ssh1啟動過程十分類似。下圖顯示了不同的操作系統(tǒng)中啟動安全shell守護的位置。操作系統(tǒng)啟動程序腳本s
29、lackware linux/etc/rc.dred hat linux/etc/rc*.dsolaris/sbin/rc*.dhp-ux/sbin/rc*.dirix/etc/rc*.daixdec unix(4)記錄你的連接安全shell守護程序在隱含的情況下,記錄初始的連接請求,認證及連接終止。既然代碼是自由的,你會被歡迎來編輯并記錄更多的信息。這來自slackware linux的日志文件/var/adm/message。當連接被建立以后,你的日志文件看上去像下面的內(nèi)容:你也可以打開詳盡日志或使用項關(guān)閉記錄。你同樣可以用-d paranoid選項使用tcp外包程序來記錄每一個socke
30、t。這有可能會復(fù)制安全shell守護程序的一些工作,也可以通過配置,使其能提供更為詳盡的信息。記住你的記錄存放位置與操作系統(tǒng)有關(guān)。linux將信息存放于系統(tǒng)日志中,一般位于/var/adm/syslog,hp-ux或aix則有可能將信息存放于完全不同的地方。查閱你的操作系統(tǒng)使用手冊以尋找記錄文件的位置。(5)配置安全shell安全shell有一個你可以定義選項的配置文件。有一些選項是不能在命令行中被設(shè)置的,但可以在配置文件中設(shè)置它們以使其工作。與大多數(shù)配置文件和shell程序腳本一樣,空行和以“#”開頭的行不會被系統(tǒng)讀入。安全shell的隱含配置文件是/etc/sshd2/sshd_confi
31、g。下面列出了你可以在sshd_config配置文件中為安全shell設(shè)置的選項。在/etc/sshd2/sshd_config文件中,定義這些選項的格式如下:optiontype argument如果你有多個參數(shù),用空白行隔開它們。這種格式對下面列出的選項都通用1.允許的用戶名與主機名可以通過安全shell2過濾用戶名與主機名。這沒有提供與ssh1一樣多的過濾選項,但有一些還是很有用的,例如忽視rhosts文件和允許或禁止超級用戶登錄的權(quán)力。ignorerhosts #這是一個與sshd1同樣的配置選項。它定義了.rhosts和.shosts是否被允許用來認證。該選項對系統(tǒng)端的文件/etc/
32、hosts.equiv和/etc/shosts.equiv沒有影響。選項的隱含值是“no”。如果你想使用的話,用.shosts來代替.rhosts從而提高安全性能。permitrootlogin你可以定義超級用戶是否可以通過ssh2登錄進來。隱含值是“yes”,但你可以將其關(guān)閉。記住這對超級用戶經(jīng)過ftp telnet或其他方式登錄進來并沒有影響。2.認證選項安全shell提供了不同的認證方法:口令、.rhosts和公共密鑰。你既可以使用其中一種,也可以使用它們的組合以通過安全shell進入帳戶。記住,rhost認證是最脆弱的認證系統(tǒng),而和公共密鑰的組合則會成為最強有力的認證形式。ssh2沒有
33、為tis或dkerberos認證提供選項,至少在本書出版時尚未出現(xiàn)。passwordguesses #該選項指定用戶正確地鍵入口令前最多登錄企圖,以進行口令認證。這個數(shù)字必須是一個整數(shù),設(shè)置值越高,其他人竊取口令的可能性也就越大,如果你僅允許口令認證的話。passwordauthentication #可以通過該選項決定是否利用口令以經(jīng)過安全shell進入帳戶。它和sshd1配置選項一樣。隱含值為“yes”,口令被用來保護公共密鑰而不是帳戶自身。你可能選擇關(guān)閉口令認證,但是最好在使用pubkeyauthentication時使用。permitemptypasswords #這個選項決定你是否想
34、使用口令來幫助認證。它和sshd1的配置選項一樣??梢栽试S空口令,然而,我們建議你最好不要這樣做。如果某人進入你的主機,最起碼還需要提供口令以進入系統(tǒng)。隱含值為“yes”。通常情況下應(yīng)將它們設(shè)為“no”。rhostsauthentication #該選項設(shè)置基于.rhosts或/etc/hosts.equiv的權(quán)限。它與sshd1配置文件中的選項rhostsauthentication選項一致。這并不需要口令或公共密鑰,但它使你的系統(tǒng)對伯克利服務(wù)攻擊和其他迫使你必須使用安全shell的安全漏洞開放。隱含值是“no”,最好就保留這個值。如果你想使用rhosts認證,就讓它和rhostspubke
35、y -authentication中的公共密鑰認證結(jié)合起來使用。rhostspubkeyauthentication #在安全shell2的最新版本中并沒有安裝這個選項。它設(shè)置基于.rhosts或/etc/hosts.equiv的公共密鑰認證,與sshd1的配置文件rhostsrsa authentication配置選項一致。認證不需要口令,但要求在遠程端有dsa或rsa密鑰認證。它同樣使你的系統(tǒng)暴露于伯克利服務(wù)攻擊,但公共密鑰認證使危險性被最大限度地降低了。如果你讓該選項取值“yes”(這也是隱含值),你就有必要為主機設(shè)置更為嚴格的登錄要求。再說一句,如果你希望保持系統(tǒng)的安全,關(guān)閉任何類型的
36、rhosts認證。pubkeyauthentication #可以使用任意多種類型的認證,或正如所見,也可以單獨使用一種類型的認證。比如說你就可以僅允許公共密鑰認證工作。這和sshd1的rsaauthentication選項一致。它并不需要rhosts或口令來協(xié)助認證。隱含值為“yes”,你最好將選項保持在該狀態(tài)。3服務(wù)器選項這些選項用來定義安全shell守護的功能,包括tcp轉(zhuǎn)寄,對特殊地址與端口的偵聽,發(fā)送存活信息及服務(wù)器密鑰的設(shè)置等。ciphers #可以指定準備用來加密的算法。目前系統(tǒng)支持的算法有des,3des,blowfish, twofish, idea和arcfour。不可以為
37、該選項指定其他的值:any,anystd和anycipher,在你調(diào)試和測試時,將選項置為none。sshd1path #如果你準備與ssh1兼容,就需要指定ssh1路徑,尤其是當你將sshd1安裝在一個非公共目錄下時。forwardagent #這個選項確定你是否能將安全shell認證代理(ssh-agent2)轉(zhuǎn)寄到遠程主機上。你既可以打開又可以關(guān)閉這個選項。keepalive #安全shell守護能通過設(shè)置來決定是否發(fā)生存活(keepalive)信息。存活信息能讓遠程的服務(wù)器知道連接是否已經(jīng)中斷,并在確定連接中斷的情況下殺掉活動進程。這和sshd1的配置文件中選項一致。當然,如果程序只是
38、暫時地掛起,它會發(fā)出如下的令人沮喪的信息:connection down:disconnecting這當然是令人厭煩的信息。但如果你不發(fā)送存活信息,會留下一些能夠消耗掉資源的幽靈一般的程序。如果你要關(guān)閉存活信息發(fā)送選項,必須同時修改服務(wù)器端與客戶端的配置文件。使用方法:keepalive yeslistenaddress #如果你正在運行一個多地址主機,可以指定你希望服務(wù)器偵聽的地址。這和sshd1配置文件中的選項一致。如果你沒有多個主ip接口的話,隱含值是你的主ip接口。使用方法:listenaddress port #可以通過該選項指定一個安全shell守護偵聽的端口,隱含值
39、為22。但在端口22已經(jīng)被使用的情況下你可能會指定一個其他的端口。這和sshd1的配置選項一致,與-p選項也一樣。使用方法:port 21strictmodes #可以使服務(wù)器在建立登錄連接之前檢查用戶主目錄的文件模式和屬主。這與sshd1所擁有的選項一致,這是一個很好的選項,因為用戶可能會意外地將目錄與文件的選項置為可寫。如果的確是這樣,一定要將它們改正過來。隱含設(shè)置為“yes”。使用方法:strictmodes yesforwardx11 #這個選項確定是否允許x轉(zhuǎn)寄通過安全shell守護。這和sshd1的x11forwarding選項一致。與其它的tcp傳輸一樣,這個選項在用戶指定轉(zhuǎn)寄時
40、會被覆蓋掉。這取決于你是否允許x傳輸通過。然而,如果你打算讓x傳輸能傳送到遠端,最好讓它們轉(zhuǎn)寄到安全shell。隱含設(shè)置為“yes”。使用方法:forwardx11 yes4.文件位置選項:這些選項定義安全shell守護密鑰文件的存放位置。這包括密鑰文件,進程標識文件等。authorizationfile #這個選項指定用戶授權(quán)文件的名字。隱含值為/.ssh2/authorization,它提供了一個安全shell服務(wù)器識別用戶的私有密鑰列表。使用方法:hostkey $ home/.ssh2/ssh2_identityhostkeyfile #這個選項指定用來做私有主機密鑰的文件,與sshd
41、1的host key選項一致。如果你不是以超級用戶的身份運行安全shell守護,你必須使用這個文件。正常情況下,除了對超級用戶主機密鑰文件是不可讀的。隱含值為/etc/ssh2/hostkey。如果你使用了一個替代文件,一定要將其屬性設(shè)為400,這與-h選項一樣。使用方法:hostkey /usr/local/etc/ssh2_host_key·publichostkeyfile與hostkeyfile選項類似,該選項指定用來做公有主機密鑰。使用方法:hostkey /usr/local/etc/ssh2_host_key.pubrandomseedfile #該選項用來定義產(chǎn)生服務(wù)
42、器密鑰的隨機生成文件。它和sshd1配置選項randomseed一致。隱含的文件位置為:/etc/ssh2/random_seed.使用方法:randomseed /usr/local/etc/ssh2_random_seed5.帳戶活動選項這個選項定義經(jīng)過安全shell登錄到遠程帳號時,影響帳號環(huán)境變量的那些設(shè)置。絕大部分設(shè)置發(fā)生于登錄時使用的.profile或.cshrc之類的設(shè)置。但你也可以在安全shell守護配置文件中設(shè)置它們并使其發(fā)生作用。logingracetime #該選項設(shè)置安全shell守護中的“警報”機制,與sshd1的配置選項效果相同。它給安全客戶規(guī)定一個特定的時間,每經(jīng)
43、過該單位時間,安全客戶將與服務(wù)器認證一次。隱含時間為600秒。如果安全客戶不進行認證,服務(wù)進程將斷開與socket的連接。可以將這個選項設(shè)為零,這將意味著對認證時間沒有限制。如果你將安全shell置于調(diào)試模式,該選項將被自動地置為零,可以發(fā)現(xiàn),它的效果與-g選項類似。使用方法:logingracetime 660printmotd #該選項決定用戶帳號是否打印出存放于/etc/inetd中的系統(tǒng)每日信息。這與sshd1中的同名選項類似,僅應(yīng)用于以交互方式登錄時(不是以scp與ssh后隨命令的方式)。選項的隱含值為“yes”。它可以在用戶的環(huán)境初始化文件中設(shè)置。使用方法:printmotd no
44、6登錄選項 這些選項能夠影響被送往日志文件的信息。既可以增加這些登錄信息,但這會損害用戶的隱私權(quán),當然你也可以關(guān)閉它們,其結(jié)果是僅有極少的錯誤信息會被記錄。quiet mode #該選項設(shè)置啞模式,這意味著將不會有任何信息被送往系統(tǒng)日志文件。它與sshd1的同名選項類似。通常情況下被發(fā)送的內(nèi)容是:連接起始標志,用戶的認證和連接終止標志。除非你的日志文件總是很快就被填滿,否則最好不要打開這個選項。定期審查登錄的蹤跡是一個好習慣,這樣可以查看是否有人非法進入到你的系統(tǒng)。該選項與“-q”選項類似,隱含值為“no”。使用方法:quietmode noverbose mode #在該模式下,sshd2將
45、會打印出第2層的調(diào)試信息。記住在打開該模式的情況下sshd2守護程序?qū)⒉粫?fù)制產(chǎn)生子進程。該選項與“-v”選項類似。使用方法:verbosemode no盡管體現(xiàn)了安全shell 2的一些新的特征,安全文件傳輸服務(wù)器并沒有被很好地用文檔加以說明。安全文件傳輸服務(wù)器由安全shell 2守護來運行,后者偵聽端口22。從某種意義上說,它的工作機理和scp非常相像。它使用非安全應(yīng)用程序(rcp或ftp)的代碼,連接也通過端口22被轉(zhuǎn)寄。因為更像一個客戶程序。而非服務(wù)器程序,安全ftp將會在“安全shell 2客戶ssh2, scp2和sftp2”中加以描述。3.3. 客戶程序ssh.scp的使用和配置
46、3.3.1. 安全shell客戶程序的使用安全shell客戶程序,ssh2和scp2在命令選項上說明不同的語法規(guī)則。ssh2客戶程序具有更多的選項,這是因為具有比單純拷貝文件更多的功能。并由于scp2使用ssh2作為運輸工具,ssh2客戶程序也需要為scp提供一些功能。為了所有這些意圖和目標,ssh2具有很簡單的語法:$ ssh2 選項主機名 命令注意:不必鍵入ssh2或scp2來運行任何一個安全shell2客戶程序。在安裝了ssh2應(yīng)用程序之后,ssh和scp的符號連接會分別連接到ssh2和scp2。如果安裝有ssh1和ssh2客戶程序。你將需要運行ssh1和scp1來運行ssh1客戶程序。
47、 ssh2的命令行選項比ssh1命令行選項更豐富。你將發(fā)現(xiàn)ssh2有一些更多可供使用的功能,這包括允許認證代理,不允許壓縮,設(shè)置調(diào)試等級和允許x轉(zhuǎn)寄。注意:ssh2不存在-k kerberos標簽和-y遠程端選項。-a #該選項讓你能夠關(guān)閉對認證代理的轉(zhuǎn)寄。這一點和ssh1客戶相同。它阻止了加載到內(nèi)存中的口令(passphrase)被用于安全shell客戶的發(fā)行。如果需要,你可以在每個主機的配置文件里指定該功能而不是在全局定義這種功能。+a #該選項允許認證代理進行轉(zhuǎn)寄,這是缺省選項。-c cipher #這和在ssh中定義的選項相同,這是因為它被直接傳送給ssh。這也和scp1使用的選項相同
48、。你可以選擇你想要的對稱鑰匙密碼來加密網(wǎng)絡(luò)傳輸。這不影響使用dsa或rsa公共密鑰的認證。所選擇的密碼有idea,des,3des,blowfish和twofish。你也可以選擇“none”,但該選擇關(guān)閉加密從而使安全shell客戶變得不安全。該“none”選項可以只用來調(diào)試和測試所要的目標,而不在實際中使用。最好的選擇是使用3des,idea或blowfish。blowfish和twofish是ssh2支持的最快的算法。為了獲得最高的安全性,使用idea。如果idea不同時被兩臺安全shell服務(wù)器支持,則使用3des。+c #壓縮通過安全shell客戶發(fā)送的所有數(shù)據(jù),這包括輸入、輸出、錯誤
49、信息和轉(zhuǎn)寄的數(shù)據(jù)。這和ssh的-c選項相同。不要把它們混淆。這使用gzip算法,并且壓縮級別可以通過配置文件的compressionlevel選項定義。這種壓縮對速度慢的網(wǎng)絡(luò)很有效,例如modem,但在速度已經(jīng)很快的網(wǎng)絡(luò)上幫助不大。使用配置文件也可以允許為基于單個主機配置該選項。-c #該選項關(guān)閉壓縮。請注意這和ssh1的選項作用是相反的。這也是ssh2的缺省選項。-d debug_level #這打印出所要的第幾級的調(diào)試信息。數(shù)字越大,所得到的信息越多。該數(shù)字從0到99。記住-v選項打印出第三級的調(diào)試信息。-e escape_character #這定義轉(zhuǎn)義字符。缺符為“n”。但可以設(shè)置為任
50、何字符成控制字符。這也和ssh的選項相同。你也可以定義為“none”,這使用會話透明,但你可能想在連接懸掛起來時讓它作為缺省值。為了能使用轉(zhuǎn)義字符。鍵入轉(zhuǎn)義字符,隨后鍵入字點號,這就終止連接。如果你鍵入轉(zhuǎn)義字符,隨后鍵入control+z,則把連接暫時掛起。-f #把ssh連接發(fā)送到后臺。這和ssh1的選項相同。在認證完成并且tcp/ip轉(zhuǎn)寄建立之后發(fā)生。在遠程主機上啟動x程序是不簡單的。用戶被提示輸入口令(假設(shè)認證代理沒有運行),接著連接被發(fā)送到后臺。-f configuration_file #該選項指定使用哪個用戶配置文件。缺省的配置文件為/.ssh2/ssh2_config。然而,你可
51、以擁有自己的缺省配置文件和其它的配置文件。首先讀入可選的文件,然后再加入缺省文件選項。-h #打印幫助命令摘要,然后退出。這不運行ssh2客戶程序。-i identity_file #該選項定義dsa私人密鑰,或認證所要讀取的身份文件,這和ssh2里的相同選項功能相似。缺省文件為$home/.ssh2/id_dsa1024_a??梢詾椴煌鳈C定義多個文件。如果你的確定義了不同文件,可能想為每臺主機分別命名這些文件(例如,id_dsa1024_a.thishost,id_dsa1024a.thathost)。-l login_name #該選項指定你在遠程主機上登錄的用戶名。這個選項和ssh1的
52、相同。缺省的用戶名和本地主機的用戶名相同,也可以在配置文件中按每臺主機定義。這是很有用的選項,因為今天有些人通過不同的帳號使用著不同主機。-l port:host:hostport #該選項把指定port上的任意到本地主機的連接轉(zhuǎn)寄到遠程主機的hostport上。這和ssh1中的選項相同,socket監(jiān)聽在本地主機上端口和何時建立到該端口的連接(例如,pop端口110),連接被轉(zhuǎn)寄到安全通道,然后建立在hostport上的遠程主機的連接。端口轉(zhuǎn)寄也可能以通過配置文件按每個主機定義。對于特權(quán)端口,只有超級用戶可以轉(zhuǎn)寄。-n #該選項和-f選項的工作類似;然而,如果你需要鍵入口令時它將不起作用。這
53、是ssh1具有的相同選項。標準輸入被/dev/null重定向,在安全shell客戶程序被發(fā)到后臺時必須使用該選項。這通常用于腳本以及發(fā)送正在在遠程主機上運行的x傳輸。和認證代理一起時使用該選項是很好的。-o option #該選項用于當沒有定義命令行選項時,在配置文件中傳送選項。這和ssh1中的選項相同。這包括stricthostkeycheckingusersh,在命令行中沒有這些選項。這些選項和其它選項在后面的章節(jié)中闡述。該選項的格式和配置文件中的格式相同。-p port #可以指定客戶連接到服務(wù)器的哪個端口,這和ssh1的選項相同。缺省端口22,是為安全shell保留的端口。記住除非另外
54、指定在文件/etc/services中定義的端口是給服務(wù)器的。這可以在配置文件中以每臺主機的方式指定端口。-p #指定使用大于1023的端口,這是一個非特權(quán)端口。這和ssh1的選項相同。你不能使用它來進行遠程主機(rhost)認證(無論是和公共密鑰一起或它自身)。然而,這對通過不具有該選項配置的防火墻進行的連接很有用。-q #這是一個靜態(tài)方式,指它不顯示任何信息。這和ssh1使用的選項一樣,通常適合于警告和診斷信息。如果使用該選項,在運行碰到認證或連接問題時,你將關(guān)閉該選項。-r port:host:hostport #這將從指定端口上的遠程主機連接轉(zhuǎn)寄到本地主機上的主機端口。這和ssh1的選
55、項相同。這和l選項的工作相反。socket監(jiān)聽遠程主機的端口,無論何時連到該端口的連接一旦建立,它將被轉(zhuǎn)寄到本地主機和該主機端口。端口的轉(zhuǎn)寄可以在配置中為每個主機單獨指定。如果你使用了特權(quán)端口,只有在以超級用戶在遠程主機上登錄時才進行轉(zhuǎn)寄。-s #這為安全shell客戶指定不需要會話通道。這用在端口轉(zhuǎn)寄請求和在tty不需要被設(shè)置使用(非交互模式)時。-t #該選項使安全shell客戶工作在交互模式下。這和ssh1中使用的選項相同,它強制產(chǎn)生虛擬tty,即使給出了命令。這可以用在于遠程主機上執(zhí)行基于屏幕的程序。-v #該選項打印客戶機版本并退出。它和ssh1中選項的作用相同。-v #冗余模式。使
56、ssh產(chǎn)生打印關(guān)于程序運行的調(diào)試信息。這在調(diào)試連接,認證和配置時是很有用。這相當于在調(diào)試模式下以2級運行。它和ssh1中的選項完成相同的事情。-x #不允許x傳輸?shù)霓D(zhuǎn)寄。這和ssh1中使用的選項相同。由于已知x是不安全的,對過份追求安全的站點可能要使用該選項,該選項可以通過配置文件為每臺主機單獨指定。+x如果你想允許x傳輸被轉(zhuǎn)寄,使用該選項。這恰好是ssh2的缺省選項。如果你需要在設(shè)置密碼、定義身份文件、保留文件屬性、設(shè)置端口、允許壓縮、設(shè)置批處理方式以定義ssh2選項(因為scp2用ssh2作的傳輸載體)之間切換,有一些在scp1中沒有出現(xiàn)的新選項。注意選項-a,-a,-b,-c,-i,-l,-o,-q和-q在scp這種實現(xiàn)中不再存在。-l #使scp2運行scp1。這個(是1(一)而不是l(l)。這就與ssh1服務(wù)器好兼容,因此如果你打算運行該選項,可以和這個選項一起使用-t和-f選項,更多的關(guān)于scp1的信息請參見第四章“安全客戶程序ssh和scp”。-c cipher #這和在ssh2中定義的選項相同,是因為它是被直接發(fā)送到ssh2的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025抵押借款合同協(xié)議模板
- 2025合作伙伴合同轉(zhuǎn)讓協(xié)議
- 汽修店雇工合同范本
- 遺失補簽合同范本
- 裝修頂房合同范本
- 2025電影特效制作服務(wù)合同
- 小區(qū)翻新清洗合同范本
- 配件合作合同范本
- 經(jīng)委房屋出售合同范本
- 欠款個人擔保合同范本
- 巡察整改工作課件模板
- 2025年事業(yè)單位工勤技能-河南-河南農(nóng)機駕駛維修工一級(高級技師)歷年參考題庫含答案解析(5套)
- 醫(yī)務(wù)人員職業(yè)道德準則理論試題
- 2025年幼兒園教師崗位聘任協(xié)議(含資格認證及薪酬激勵)
- 成都東部集團有限公司招聘考試真題2024
- 銀行收息管理辦法
- 海外房產(chǎn)投資項目方案(3篇)
- 消防員心理健康課件
- 初中地理學(xué)科課程規(guī)劃方案
- 定額〔2025〕1號文-關(guān)于發(fā)布2018版電力建設(shè)工程概預(yù)算定額2024年度價格水平調(diào)整的通知
- 電子束曝光機說明書
評論
0/150
提交評論