實戰證明LINUX系統下金鑰對驗證的安全性

2021-09-04 10:19:56 字數 2623 閱讀 3268

實戰證明linux系統下金鑰對驗證的安全性

金鑰對驗證:要求提供匹配的金鑰資訊才能通過驗證,首先在客戶端建立一對金鑰檔案(公鑰、私鑰),後把公鑰檔案放到需要遠端連線的伺服器中。遠端登入時,系統將使用私鑰加密身份資訊提交給遠端主機,遠端主機使用對方提交的公鑰來解密進行身份驗證。

本次實驗通過三部分來完成:

1、構建金鑰對

2、驗證私鑰的可靠性

3、驗證公鑰的可靠性

一、構建金鑰對驗證ssh體系:

(1)首先在pc1上建立金鑰對(私鑰檔案:id_rsa   公鑰檔案:id_rsa.pub)

(2)將公鑰檔案上傳至需要遠端連線的伺服器

(3)使用金鑰對驗證

1、建立金鑰對:ssh-keygen -t rsa 在建立的過程中不設定短語(就是用來加密私鑰的密碼,因為如果指令碼中需要遠端登入到另一台伺服器時,如果有短語會等待管理員輸入短語,導致指令碼執行暫停)。

2、拷貝公鑰到另一台linux主機(pc2):ssh-copy-id [email protected]

檢視 .ssh目錄下是否成功建立金鑰對,然後把公鑰拷貝到對方主機

3、遠端登陸: ssh [email protected]

通過上面截圖可以看到登陸192.168.80.100並不需要輸入密碼驗證就可以直接連線。因為pc1使用剛才產生的私鑰加密了資料,對方收到後使用公鑰解密可以解開,身份驗證成功。思考乙個問題:如果此時pc2遠端連線pc1,是需要輸入密碼還是不需要直接連線成功呢?

二、驗證私鑰丟失後的安全性

如果私鑰丟失,那麼得到私鑰的使用者能否遠端連線到 pc2(私鑰在產生的時候並沒有設定短語加密)

1、把私鑰拷貝到另外一台 linux主機(pc3)root中,再把私鑰從pc3root中拷貝到普通使用者(yus)的目錄中,驗證root和yus能否遠端連線pc2

(1)、cd到 .ssh目錄並把id_rsa(私鑰)拷貝到pc3中 

(2)、在pc3上檢視是否拷貝成功,並把id_rsa檔案複製到.ssh目錄中(如果沒有.ssh目錄要用mkdir新建乙個.ssh目錄)

(3)連線pc2:ssh [email protected]

通過截圖可以看到已經成功連線到pc2並且不需要密碼驗證

驗證普通使用者能否遠端連線

1、賦予yus對id_rsa檔案的可執行許可權

2、並把id_rsa檔案複製到yus使用者中的.ssh目錄下

[root@ys .ssh]# cp  -p  id_rsa  /home/yus/   

[root@ys .ssh]# su - yus

[yus@ys ~]$ mkdir  /home/yus/.ssh

3、登陸到pc2:ssh [email protected]  

由以上結論可以得出私鑰丟失後,任何得到私鑰的都可以登陸到pc2伺服器。

三、驗證公鑰丟失後的可靠性

1、把pc2上的公鑰拷貝到pc3上

2、在pc3上把公鑰檔案複製到.ssh目錄中,記得把之前的私鑰檔案刪除

3、使用pc1驗證能否遠端登陸pc3

通過上面截圖可得出結果,公鑰丟失後或被竊取後,產生金鑰對的伺服器就可遠端登陸到有公鑰的裝置上。也就是說哪台裝置上有公鑰,伺服器就能遠端連線,而且公鑰不論是從伺服器上獲得的還是從別的裝置上竊取的都可使用。所有無論是公鑰還是私鑰都需要妥善保管。

總結:ssh遠端管理通過金鑰對驗證是通過公鑰和私鑰互相加密解密完成驗證的。通過本次實驗可以看出,公鑰和私鑰都不可丟失,否則就會造成安全問題。同時相對於密碼驗證來說,金鑰對驗證要依然要安全許多。在合適的場景下合作恰當的驗證方式就好。絕對的安全是不存在的。 

Linux下GPG生成金鑰 匯出金鑰及金鑰格式轉換

1 gpg安裝 使用以下命令安裝gpg sudo yum install gnupg2 安裝monkeysphere 將金鑰轉為rsa格式時使用,不需要的可以不裝 安裝依賴包 yum install perl crypt openssl bignum yum install perl digest ...

linux 金鑰對 遠端登入

本地主機以使用者 root身份,無金鑰登入遠端阿里雲 a機rsaauthentication yes pubkeyauthentication yes authorizedkeysfile ssh authorized keys 會去登入賬戶下的 ssh authorized keys檔案中去尋找k...

Linux 建立ssh金鑰對

先檢查一下伺服器的ssh配置檔案 etc ssh sshd config rsaauthentication yes 啟用 rsa 認證 預設為 yes pubkeyauthentication yes 啟用公鑰認證,預設為yes 執行命令建立公私鑰 ssh keygen t rsa 檢視建立好對公...