關於 SSH 公鑰與私鑰

利用 SSH 協議可以有效防止遠程管理過程中的信息泄露問題,且 SSH客戶端適用於多種平臺。使用公鑰登入遠程服務器是一種基於信息安全性來考慮的

一. 使用公鑰登入遠程 linux 服務器

如果主機沒有安裝 OpenSSH 請先安裝,現在的 Linux 服務器和 Linux 系統默認都安裝了 OpenSSH 軟件,直接在終端進行 SSH 等入管理操作既可

1. 查看 SSH Keys
ls -al ~/.ssh

在列出的文件中如果有 id_rsa 以及id_rsa.pub 文件,可以接觸 cat 來查看內容;如果沒有找到相關的公、私鑰,則需要生成公私鑰

2. 生成 SSH KEY

使用命令

ssh-keygen -t rsa -C "[email protected]" 

[email protected] 可以替換爲你的郵箱,文件生成目錄在 SSH KEY 生成後終端會顯示相關信息,可以使用默認路徑也可以在生成 SSH KEY 的過程中自定義

輸出信息如下

[root@server ~]# ssh-keygen -t rsa -C "[email protected]" 
Generating public/private rsa key pair. #提示正在生成 rsa 密鑰對
Enter file in which to save the key (/home/usrname/.ssh/id_rsa): #詢問公鑰和私鑰存放的位置,回車用默認位置即可

Enter passphrase (empty for no passphrase):  #詢問輸入私鑰密語,輸入密語
Enter same passphrase again: #再次提示輸入密語確認

Your identification has been saved in /home/usrname/.ssh/id_rsa. #提示公鑰和私鑰已經存放在 /root/.ssh/目錄下
Your public key has been saved in /home/usrname/.ssh/id_rsa.pub.
The key fingerprint is:
ba:dd:cc:eb:69:f2:eb:99:1a:9c:61:91:8d:8f:50:d0 [email protected]
The key's randomart image is: #提示 key 指紋 
+--[ RSA 2048]----+
|      .o.        |
|       .E+       |
|      . + .      |
|       . +       |
|        S .      |
|       + o       |
|      . +        |
|       o.=.+     |
|      . oB&o     |
+-----------------+

說明

  • 可以添加參數 -b 1024 指定密鑰對字長,如 ssh-keygen -b 1024 -t rsa -C "[email protected]" 表示採用長度爲 1024 字節的公鑰/私鑰對(最長 4096 字節)。一般 1024 或 2048 就足夠滿足安全需要了,如果字節太長相對的加密解密需要的時間也增長
  • -t rsa 表示採用 rsa 加密方式生成公鑰/私鑰對,除了 rsa還dsa 方式,rsa 方式最短不能小於 768 字節長度。可以通過 man ssh-keygen 查看 ssh-keygen 其他參數選項。
  • 在生成密鑰對的過程中會詢問密鑰對保存地址,回車即放置默認地址,也可以自定義
  • 在生成密鑰對的過程中會被詢問 輸入密碼短句( Enter passphrase (empty for no passphrase) )密碼短句(passphrase) 即使用一個短語或者一句話作爲密碼輸入,再由系統內部的加密或是散列算法生成虛擬密碼後,進行下一步的認證。passphrase 增強了安全性不易被破解。如果默認回車,也就是代表不使用密碼短句。建議輸入密碼短句,這樣如果只是生成密鑰對而不設置密碼短語,那麼如果私鑰丟失了,麻煩可能會比丟失用戶名密碼還嚴重
  • [email protected] 這個可以自定義
3. 拷貝公鑰到被管理的服務器上

在管理的遠程服務器上把本地 linux 主機公鑰拷貝到被管理服務器上要進行自動登陸的用戶目錄下

4. 使用密鑰對進行遠程登陸
[root@server ~]# ssh root@host -p port
Enter passphrase for key '/root/.ssh/id_rsa':      #提示輸入密碼短語,請輸入剛纔設置的密碼短語
Last login: Sun Oct 10 11:32:14 2010 from 192.168.0.1
[peter@client ~]$ 

我這裏是設置了密鑰短語,正確輸入密鑰短語既可登入。指定登入用戶身份 root 、主機以及端口 port。默認端口是 22

相關鏈接

[1] SSH協議詳解
[2] SSH 密鑰類型的的選擇(RSA, DSA or Other)
[3] 使用ssh公鑰密鑰自動登陸linux服務器
[4] SSH 有關密鑰和私鑰 的那些事兒
[5] 中間人攻擊(man-in-the-middle attack):你和互聯網中間的第三人
[6] SSH使用密鑰登錄並禁止口令登錄實踐
[7] Https協議簡析及中間人攻擊原理
[8] 數字簽名是什麼?
[9] 阮一峯的日誌之SSH原理與運用
[10] SSH 協議基礎
[11] 圖解SSH原理

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章