為 OpenWrt 產生 SSH 金鑰

OpenWrt 本身的網頁管理介面:它叫 LuCI,算是非常地完善,除了預設只有英文介面,很不討人歡喜之外……

多數情況的操作設定,都可以利用 LuCI 進行,但這指的是多數的情況。在某些情況下,會利用 Telnet 或 SSH 的 console 方式操作。這些情況可能是 LuCI 掛了,也就無法登入網頁介面,雖然可能性很低、需要以安全模式的模式進入管理、找到網頁的教學,但這些教學通常是以 console 做說明。

Telent 或 SSH 在某一層面來說,可說是幾乎相同的東西,只是 SSH 它會比 Telnet 更安全,原因是 Telnet 的傳輸過程,不會對資料加密,而 SSH 則是相反,且 SSH 是採非對稱式加密,因此在安全性上會比較高。

OpenWrt 本身已包含 SSH Server,當然我們也可以用 Telnet 的方式,只是有更安全的方式,那麼使用更安全的方式,會是更好的建議。在 Linux 時,要產生 SSH 金鑰是很容易的事,因為 Linux 通常已經內建了相關功能。但在 Windows 上通常要使用第三方軟體來產生金鑰,我個人比較推薦 PuTTYgen 這個軟體,主要原因是它的程式很小,操作上也簡單。

PuTTYgen 的程式可以在 http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html 找到,或者也可以直接【下載】主程式。

產生你的 SSH 金鑰

  1. 先開啟軟體,再按下【Generate】
  2. 再在框框內隨意移動你的滑鼠,直到集滿氣 XD
  3. 讓子彈先飛一會兒,讓 PuTTYgen 幫你產生 SSH 金鑰
  4. 產生成功了!
    1. 大框框裡就是產生出來的金鑰,這個叫『公鑰
      這時請做一件事:
      在大框框裡按右鍵,再按「全選」,再按右鍵,再按「複製」

    2. 這裡比較需要注意的是:
      • key comment:也就是金鑰的備註,建議輸入一個容易記且辨別的名稱,不建議使用中文。(選填項目)
      • key passpharse 及 Confirm passpharse:這是為我們的金鑰再多加一層密碼保護,主要是保護『私鑰』。非對稱式加密比較特別,加密資料時是以『公鑰』進行,而將資料解密則是以『私鑰』進行。公鑰是指「公開金鑰」,所以它是可以被公諸於世;私鑰則是指「私密(人)金鑰」,我們要好好保存,它主要是解密用,解的是「被我們自己公鑰加密的資料」,也不要外流。密碼也是選填項目,但我建議你設定。
    3. 你可以利用「Save public key」來儲存『公鑰』,「Save private key」來儲存『私鑰』,如果沒有設定密碼時,在儲存私鑰時,PuTTYgen 會出現一個訊息,大意是說「你是否確定不以密碼保護你的私鑰」,如果選「Yes」就是指不以密碼保護私鑰,如果選「No」則請輸入密碼後再繼續吧。

將 SSH 金鑰放入 OpenWrt

  1. 先連上並登入 OpenWrt 的網頁管理介面
  2. 到「System」→「Administration」,並在最下面找到「SSH-Keys」,並且將剛剛複製的金鑰再貼入框框裡,最後再儲存就好了。

貼上的金鑰會很長一行,這是正常現象,請不要任意修改金鑰內容!

Comments

  1. 你好
    SSH加密部份一組鑰匙只能對應一個服務嗎?
    若要第二個服務也需要用就要在新增一組鑰匙?
    但要怎麼知道對應哪個呢@@

    XD 基礎不太好 搞的好混亂

    1. 你也可以把金鑰想成密碼
      同一組密碼可以運用在很多環境或服務
      同樣的,如果服務是可以使用金鑰,你可以全用相同的金鑰
      當然,你也可以因為情況的不同,而使用不同的金鑰

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Google reCAPTCHA 保護機制,這項服務遵循 Google 隱私權政策服務條款