ssh的加密原理與基於金鑰的登入

2021-08-13 12:21:43 字數 1009 閱讀 2464

ssh:secure shell,是一種網路安全協議,主要用於登入遠端計算機的加密過程。

登入方式主要有兩種:

1、基於使用者密碼的登入方式:

加密原理:

當伺服器知道使用者請求登入時,伺服器會把自己的公鑰發給使用者,ssh會將伺服器的公鑰存放在客戶端的~/.ssh/known_hosts檔案下,使用者會根據伺服器給它發的公鑰進行加密,加密好好之後返回給伺服器,伺服器用自己的私鑰解密,如果密碼正確,則使用者會成功登入到伺服器上。

如果伺服器改變了自己的公鑰,客戶端想要登入時必須刪除自己~/.ssh/known_hosts檔案下的舊內容,重新獲取伺服器新的公鑰。只要你知道伺服器上的使用者和密碼,就可以成功登入到遠端伺服器上。

命令格式: # ssh user@ip

在你第一次登入時,介面上會出現如下圖的情形:

are you sure you want to continue connecting (yes/no)?

2、基於金鑰的登入方式:

加密原理:

你自己事先得建立一對金鑰,把自己的公鑰放在你需要登入的伺服器上。當客戶端需要請求金鑰驗證登入伺服器時,伺服器收到請求後,伺服器就用公用密匙加密一段隨機字串並把它傳送給客戶端。客戶端收到加密後的隨機字串之後就可以用客戶端的的私鑰加密再把它傳送給伺服器,如果伺服器上你事先存放的公鑰解密成功則證明使用者是可信的,直接允許登入,不再要求密碼。

獲取自己金鑰對的命令格式:$ ssh-keygen

執行上面的命令以後,系統會出現一系列提示,可以一路回車。其中有乙個問題是,要不要對私鑰設定口令(passphrase),如果擔心私鑰的安全,這裡可以設定乙個。

命令完成後,在~/.ssh/目錄下會生成兩個新檔案:id_rsa.pub和id_rsa。前者存放你自己的公鑰,後者存放你自己的私鑰。

然後將自己的公鑰傳到伺服器上,該命令格式為:$ ssh-copy-id user@ip

成功登入後,重啟伺服器ssh服務:   $ systemctl  restart  ssh.service

接下來就可以遠端操控伺服器了。

使用ssh基於金鑰實現3臺主機間免密碼登陸

第一步 在host01和 host 2和 host 3上面都要執行下面操作,產生公鑰和私鑰 該過程不輸入密碼 ssh keygen t rsa 第二步 host01,host 2和 host 3都執行以下操作,將各自公鑰新增到host01的authorized keys的檔案中.ssh copy i...

使用ssh基於金鑰實現3臺主機間免密碼登陸

第一步 在host01和host2和host3上面都要執行下面操作,產生公鑰和私鑰 該過程不輸入密碼 ssh keygen t rsa第二步 host01,host2和host3都執行以下操作,將各自公鑰新增到host01的authorized keys的檔案中.ssh copy id hadoop...

ssh 免密碼登入 與 金鑰公鑰原理講解

由於最近頻繁需要登入幾個伺服器,每次登入都需要輸入密碼,故相對麻煩。由於個人伺服器用於實驗,故對安全性要求不是很高,故想實現ssh免密登入。通過閱讀ssh 公鑰私鑰認證操作及原理以及ssh公鑰登陸。成功實現了自己的需求。下面來說下講解公鑰金鑰的工作原理以及ssh免密登入的實現步驟。在課程計算機基礎中...