您好,登錄后才能下訂單哦!
名詞解釋:
【ssh】ssh即Secure Shell 的縮寫,是一種與telnet相似的協議,不同的是ssh在信息傳輸過程中對數據進行了加密。
【密鑰】密鑰是數據傳遞時進行加密的一種方式,分為對稱密鑰和非對稱密鑰,對稱密鑰其加密過程和解密過程使用的是同一段密文,非對稱密鑰分為公鑰(加密)和私鑰(解密)兩段密文。
【對稱密鑰】最常見的對稱密鑰就是電視里常用的“書本加密法”,即A和B同時持有一本書,A將要傳遞的字用書的頁碼、行數、列數等數字表示,B得到這些數字后,使用同一本書就能將這些信息反向推導出來。計算機進行加密時也參考這樣的方式,用戶在嘗試連接設備時設備向用戶發送一本“轉換字典”,用戶的客戶端會根據轉換字典將用戶指令加密生成密文,而后通過網絡傳遞給設備,設備得到密文后又根據轉換字典將密文解密成指令,設備端到客戶端的信息傳遞也是一樣的過程。對稱密鑰的問題在于若有足夠多的時間,轉換字典還是有可能被破解。
【非對稱密鑰】非對稱密鑰是相對于對稱密鑰而言的,基本原理與對稱密鑰相似,不同的是非對稱密鑰存在兩本書,分別為公鑰和私鑰。比喻來講,A和B分別持有兩本書A和B,A將要傳遞的字用書A進行加密,B若使用書B則可以對信息進行正確解密,B若使用書A反而解密不了信息。在應用場景中,用戶在嘗試連接設備時,設備向用戶的客戶端發送一個公鑰,在設備內保存一個私鑰。用戶在發送數據前,客戶端會先將信息用公鑰加密,傳遞給設備后,設備再使用私鑰進行解密。設備在向用戶發送信息時,先將信息用私鑰進行加密,而后客戶端使用公鑰對其進行解密。使用這種方式加密的信息在理論上也有可能被破解,但其時間成本和需要的計算資源是一個天文數字,即在事實上是基本沒有可操作性的。
【RSA】RSA是非對稱密鑰的一種算法,由羅納德·李維斯特(Ron Rivest)、阿迪·薩莫爾(Adi Shamir)和倫納德·阿德曼(Leonard Adleman)一起提出的,這個算法取了這三個人名字的首字母。
一 ssh的意義
用戶使用telnet與設備進行交互時,存在兩個問題,一是數據在網絡上是以明文方式傳輸的,接入到網絡中的任何人都可以使用抓包軟件將這些信息截獲。二是無法對設備的真實性進行檢查,別有用心的人可以在網絡上偽裝一個目標設備將用戶的指令截獲。ssh正是用以解決這兩個問題,使用ssh進行數據傳輸時數據是加密的,若有需要還可以在目標設備上放置一個加密的口令用以識別設備的真實性。
二 ssh在傳輸數據時如何加密
ssh的應用環境一般存在兩個角色,一是用戶的客戶端,二是目標設備。用戶使用客戶端嘗試連接目標設備時,設備上的ssh server會生成一個公鑰和一個私鑰,設備先將公鑰交給客戶端保存,用戶在發送信息給設備時,客戶端先使用公鑰將信息加密,設備得到加密的信息后使用私鑰將密文解密得到用戶發送的真實信息。信息在網絡中傳遞的整個過程都進行了加密,使得網絡中其他人即使截獲了這些信息也無法識別出其真實含義。
三 ssh是如何保證目標設備是真實的
用戶在與設備建立連接前,先在自己的電腦上使用工具生成一個公鑰A和一個私鑰A,用戶先將這個公鑰A保存到設備中并與某個用戶名綁定,將私鑰A保存到客戶端。在建立連接時,設備向客戶端發送一個公鑰B,用戶輸入用戶名后客戶端將用戶名用公鑰B加密并發送給設備,設備用私鑰B將用戶名解密,并查詢此用戶名是否綁定了公鑰A,若綁定了,則將公鑰A發送給客戶端,客戶端使用私鑰A將公鑰A進行解密,若能解密則表明用戶當前連接的設備就是一臺指定的設備,則驗證通過。注意公鑰A在傳遞過程中也是使用設備產生的秘鑰進行加密和解密的。這個過程的本質就是用戶在設備上預先就保存了一個特定的口令,在連接建立時對這個口令進行校驗,若驗證通過則讓用戶可以直接登錄設備,而不需要密碼。
四 ssh配置為用戶名加密碼認證
1.創建一個test用戶
2.將用戶test配置為用戶名加密碼認證(默認)
[AR]ssh user test authentication-type password
3.使能設備的ssh功能
[AR]stelnet server enable //開啟ssh功能 [AR]rsalocal-key-pair create //生成一個新的秘鑰對
五 ssh配置為RSA認證
在華為交換機中,RSA認證即前面“三”中講到的使用預先創建的密鑰對用戶和設備進行檢驗。
1.使用軟件puttygen生成一個密鑰對public.pub和private.ppk
2.將私鑰導入到用戶的客戶端軟件
3.使用sshkey將public.pub解析成設備可以識別的公鑰(一串字符)
4.將公鑰導入到設備
[AR]rsa peer-public-key test1-key //創建一個公鑰test1-key [AR-rsa-public-key]public-key-code begin //開始字符的黏貼 [AR-rsa-key-code] //粘貼上面前面的公鑰(一串字符) [AR-rsa-key-code]public-key-code end //結束字符的黏貼 [AR-rsa-public-key]peer-public-key end //退出公鑰的創建
5.創建一個test1用戶
6.配置用戶test1
[AR]ssh user test1 authentication-type rsa //test1用戶配置為RSA認證 [AR]ssh user test1 assign rsa-key test1-key //指定其公鑰為前面創建的test1-key
7.使能設備的ssh功能
[AR]stelnet server enable //開啟ssh功能
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。