Vixual / 122 posts / tags / 62 comments / feed / comments feed /
Search:

Archive for 5月, 2007


在 Linux Server 下使用 Public/Private-Key(公鑰/私鑰) 遠端登入 SSH 的方式相信大家應該都不陌生(沒實做過的可參考鳥哥study-area的文件),下面我所要介紹的是在 Windows 下使用 Public/Private-Key 遠端登入 SSH 的方法。

開始之前先說一下 “Public/Private-Key” 的概念,”Public/Private-Key” 是一種 “交互信任” 的機制,由用戶(Client)端以特定的加密演算法產生兩把金鑰,即 “Public-Key” 與 “Private-Key”,然後我們會把 “Private-Key” 留在自己的電腦,再把 “Public-Key” 傳送到遠端主機,當兩把金鑰碰在一起就會進行加解密比對,以確認是否彼此的身份是可以信任的,藉以執行特定的作業。

但我有一個更簡單的說法,與其說是 “公鑰” 與 “私鑰”,不如說是 “鎖頭” 與 “鑰匙”,由我自己來打造一個 “鎖頭” 及一把 “鑰匙”,我把這個 “鎖頭” 裝在某個門上,然後我就可以用我的這一把 “鑰匙” 來打開這個門了! 同樣的,我也可以把相同的 “鎖頭” 裝在很多的門上,那我就可以用這一把 “鑰匙” 來開啟很多門了(怎樣,很酷吧!)…這樣子的概念是否有比較清楚了呢?!

我們的目的是要從 Windows 以 “Public/Private-Key” 登入 Linux 主機,下面的步驟所要使用的軟體,都是由

PuTTY 所提供的工具程式,請先下載存放在自己的電腦:

產生 Public/Private-Key

執行 puttygen.exe:

  1. 先在 Parameters 的 “Type of key to generate” 欄位選 “SSH-2 DSA”。
  2. 如果你希望加密更多的位元數,可更改 “Number of bits in a generated key” 為 “2048″ 或更多。
  3. 然後按 [Generate],就會開始產生金鑰。在產生金鑰的同時,請隨意移動你的滑鼠,做為 “隨機亂數” 的取用。

金鑰產生完畢,如下圖所示:

  1. 在 “Public key for pasting into OpenSSH authorized_keys file” 裡那一堆的奇怪的字串就是 Public-Key,請直接複製裡面的內容,然後貼到 Linux 主機上的 “/home/登入帳號/.ssh/” 目錄下的 “authorized_keys” 檔案(請注意 “authorized_keys” 這個檔案的權限必須為 “644″)。
  2. 然後按 [Save private key] 按鈕,將 “Private-Key” 儲存在你的電腦。與 Private-Key 比較有關的是 “Key passphrase” 及 “Confirm passphrase” 這兩個欄位,這兩個欄位是 “Private-Key” 的密碼,如果有輸入密碼的話,只要在每次使用的第一次載入 Private-Key 時,會詢問你一次這個密碼,可以讓你的 Private-Key 較不容易被盜用。
  3. 另外還有一個 [Save public key],按下去之後就可以把 Public-Key 再備份一支到你的電腦 (但要使用這個備份的 Public-Key 時,必須把裡面的一些註解刪掉才行)。

使用 Private-Key 遠端登入

補充…

使用 TortoiseSVN 配合 SSH