在 Windows 上產生 SSH 金鑰的 3 種方法

已發表: 2023-11-19

如果您透過雲端運算進行工作,存取不在目前網路或家庭網路上的遠端伺服器,您可能已經熟悉 SSH 或安全 Shell 金鑰。 由於 SSH 金鑰比傳統的使用者名稱和密碼組合安全許多倍,因此它們通常用於存取依賴遠端伺服器的工作站。 SSH 金鑰為員工或他們授權登入伺服器的其他人提供簡單、安全的存取。

generate ssh keys on windows

SSH 金鑰的另一個優點是創建速度快,只需幾分鐘即可完成,無需複雜的程式。 所有這些都可以透過一台簡單的 Windows 電腦來完成,這正是我們將在本文中介紹的內容。 我們走吧!

目錄

什麼是 SSH 註冊機?

SSH 金鑰產生器可以被認為是傳統使用者名稱和密碼存取的更複雜、更安全的版本。 SSH 金鑰是使用不同演算法為每個使用者單獨產生的,並且高度隨機化以確保資料保護。

SSH 金鑰產生通常用於安全存取雲端伺服器。 然而,它們也可以用於其他工作場所,以授予使用者和員工存取權限,例如資料中心、公司等。 可以使用下面描述的三種方法在 Windows 電腦上執行註冊機建立。

SSH 註冊機如何運作?

在學習如何建立 SSH 金鑰之前,簡要了解它們的工作原理非常重要。 產生 SSH 金鑰時,您基本上會建立一對金鑰——公用金鑰對和私有金鑰對。 顧名思義,私鑰不應與他人分享。

另一方面,公鑰位於另一方(無論是您的雇主還是您的公司)的伺服器上。 這樣,公鑰和私鑰就可以在存取電腦和中央伺服器之間建立連接並相互通訊。 如果鎖和鑰匙匹配,您將被授予存取權限。

使用命令提示字元產生 SSH 金鑰

Windows 命令提示字元是執行此類操作的最佳方式,因為它預設內建於系統中。 建立 SSH 金鑰最多需要幾個步驟,並且不需要任何其他工具。

Windows 11 預設附帶 Windows 終端,但如果您使用的是舊版本,我們建議您從 Microsoft Store 下載。 它可以運行命令提示字元、Windows PowerShell 和適用於 Linux 的 Windows 子系統,同時提供更乾淨、更使用者友善的介面。

  1. Windows 鍵並蒐索Terminal 。 若要繼續使用本機命令提示符,請搜尋cmd
    open windows terminal
  2. 輸入ssh-keygen並回Enter
    type ssh keygen
  3. 系統將提示您輸入選擇的儲存路徑和要儲存的檔案的名稱。 您可以跳過第一點並將金鑰儲存到電腦的預設位置,通常是 C 碟機。 不用擔心; 文件的位置將顯示在其旁邊。
    enter location pathway
  4. 系統將提示您輸入密碼以獲得額外保護。 同樣,您無法使用密碼保護金鑰,但我們強烈建議您不要這樣做。 然後按Enter鍵。
    enter passphrase
  5. 再次輸入密碼確認。
    enter passphrase again to confirm it
  6. 將出現一條確認訊息,表示您的金鑰已產生並儲存在指定位置。
    the generated ssh keys

預設情況下,Windows 11 產生遵循 2048 位元 RSA 演算法的金鑰。 但是,如果您需要基於不同演算法的 SSH 金鑰,請在第二步驟中的第一個命令後面新增-t(演算法名稱) 。 例如,GitHub 建議使用 ed25519 演算法,因此您必須鍵入ssh-keygen -t ed25519來產生對應的金鑰。

ed25519 algorithm

此外,指定位置中保存的不僅僅是一個文件,而是兩個文件 - 一個不帶擴展名,另一個帶擴展名 .pub。 顧名思義,帶有.pub副檔名的檔案是公鑰,而沒有副檔名的檔案是產生的 SSH 金鑰的私鑰。 當然,您不能與他人共享私鑰。

pair of ssh keys generated

使用 WSL 產生 SSH 金鑰

如果您喜歡採用 Linux 方式,那麼適用於 Linux 的 Windows 子系統就非常適合您。 儘管該過程或多或少相似,但建議精通 Linux 領域的人使用。 如果沒有,您應該堅持第一種方法。

作為先決條件,您的 Windows 10 PC 上需要安裝適用於 Linux 的 Windows 子系統 (WSL),您可以從 Microsoft Store 下載程式。 Windows 11 用戶不需要下載 WSL 工具,因為內建的 Windows 終端機得到了很好的支持,可以在應用程式中執行 WSL 命令。 如上所述,如果您使用的是舊版的 Windows,則可以從 Microsoft Store 下載 Windows Terminal。

  1. 開啟Windows 終端機。 或者,您也可以在 WSL 中開啟命令提示字元視窗
    open windows terminal
  2. 與第一種方法不同,您必須說明要產生的金鑰的演算法。 例如,要產生 RSA-4096 金鑰,請輸入ssh-keygen -t rsa -b 4096 “[email protected]並按Enter 。 輸入您的電子郵件地址對於輕鬆識別至關重要。 如果您使用 Windows 終端機產生金鑰,則可以跳過它,因為 Windows 會自動擷取您的電腦名稱和使用者名稱。
    enter wsl command
  3. 輸入要儲存的檔案位置,並根據需要提供密碼。 您可以透過按Enter鍵選擇堅持預設值。
    enter passphrase
  4. 再次輸入密碼並按下Enter鍵以確認您的密碼。
    confirm your passphrase

使用 PuTTY 產生 SSH 金鑰

多年來,PuTTY 總是在伺服器和電腦之間建立通訊的最佳解決方案。 儘管 SSH 用戶端仍在使用,但已不再那麼普遍。 儘管如此,PuTTY 仍然是一個功能強大的 SSH 金鑰產生器,因此,如果上述方法由於某種原因使您失敗,您可以嘗試一下。 在繼續之前,請下載並設定適用於 Windows 的 PuTTY 用戶端。 PuTTY 也可以從 Microsoft Store 下載。

  1. Windows 鍵並搜尋PuTTYgen打開它。
    open puttygen client
  2. 您必須選擇要產生的 SSH 金鑰的類型。 選擇所需的密鑰類型並在“參數”部分下輸入位元值。 例如,選擇「RSA」並輸入「4096」即可建立RSA-4096類型的金鑰。 EdDSA類型可以使用旁邊的下拉式選單進一步配置,以合併Ed25519類型的255 位元和表單金鑰。
    enter ssh key parameters
  3. 選擇生成
    generate ssh keys
  4. PuTTY 產生器會提示您將遊標隨機移動到空白區域,以增加按鍵的隨機性,從而增強其強度。
    create randomness by moving cursor
  5. 產生密鑰後,您可以指定密碼。 在以下輸入欄位中再次輸入密碼以確認密碼。
    set a passphrase
  6. 點擊“儲存公鑰”將公鑰保存在您選擇的位置。 檔案名稱末尾應帶有副檔名.pub
    save public key
  7. 點擊“儲存私鑰”儲存私鑰。 如果您不設定密碼,您會遇到警告; 選擇“是”繼續進行。
    save private key

請注意,預設私鑰僅適用於 PuTTY 的專有客戶端。 如果您的工作站不支援 PuTTY 用戶端,則最好以OpenSSH格式匯出以確保通用相容性。 為此,請在最後一步中選擇“轉換” ,然後按一下“匯出 OpenSSH 金鑰”

如何產生多個金鑰?

如果您需要多個 SSH 金鑰來登入不同的伺服器,您可以輕鬆產生多個金鑰。 為此,您可以重複上述任何過程並建立更多 SSH 金鑰,但不要忘記相應地標記檔案名稱或將它們保存在唯一的名稱下以避免混淆。 為了避免忘記密鑰的密碼,請查看最佳免費密碼管理器來保存產生的密鑰的密碼。

請記住,當您切換到新電腦時,您必須手動轉移密鑰。 否則,您將無法存取您的伺服器和位置。 您始終可以在新電腦上產生新金鑰,但如果您已經擁有大量金鑰庫,則這會很乏味。

輕鬆產生 SSH 金鑰

就是這樣,夥計們! 產生 SSH 金鑰的過程很簡單,而且使用 Windows Terminal 等官方整合平台,您甚至不需要下載單獨的應用程式或軟體。 WSL 和 PuTTY 等其他平台同樣易於使用且有效率。 不要忘記金鑰的密碼,並確保您的金鑰安全,不要與他人共用。

SSH 註冊機常見問題與解答

1.什麼是 SSH 註冊機?

SSH keygen 是傳統使用者名稱和密碼組合的現代替代品。 從技術上講,SSH 金鑰是產生、匹配並用於存取遠端雲端平台、網站和伺服器的虛擬金鑰。 它由兩個密鑰組成 - 一個公共密鑰和一個私有密鑰,第一個密鑰駐留在伺服器上,而第二個密鑰在正確匹配時授予存取權限。

2. 我必須提供密碼嗎?

不需要,預設情況下建立 SSH 金鑰不需要密碼。 但是,由於 SSH 金鑰非常敏感且容易被濫用,因此您應該確保它們安全儲存。 請記住:您建立的 SSH 金鑰越多,您需要記住的每個金鑰的密碼就越多。

3. 為什麼一個 SSH 金鑰會產生兩個檔案?

每個 SSH 金鑰都由一對相關文件組成。 一個具有擴展名 .pub,另一個沒有擴展名。 公鑰就像一把鎖,被傳輸到您想要登入的中央伺服器,而私鑰則用作存取所需頁面的文字金鑰。

4. 如果我習慣Linux,如何產生SSH金鑰?

適用於 Linux 的 Windows 子系統(簡稱 WSL)支援本機產生 SSH 金鑰。 此外,支援WSL指令的Windows終端機也可用於建立Linux風格的金鑰。 您可能需要規劃一些額外的步驟,但您將獲得精細控制和熟悉 Linux 的額外好處。

5. 如果我要升級到新電腦,如何轉移 SSH 金鑰?

如果您要升級到新電腦並想要轉移 SSH 金鑰,那麼只有一種方法:您必須手動將它們轉移到新電腦。 如果您忘記執行此操作,則產生的金鑰將被完全刪除。 如果您沒有包含許多 SSH 金鑰的廣泛程式庫,您可以隨時在新 PC 上建立新金鑰。

6. 之後如何找到 SSH 金鑰?

無論是 Windows 終端機還是 WSL,您都會看到您建立的 SSH 金鑰的確切位置。 如果不檢查就退出程序,則需要在 Windows 終端機中輸入一些命令。 輸入~/.ssh/id_rsa~/.ssh/id_rsa.pub以搜尋 SSH 私鑰和公鑰(如果有)。