使用步驟
- 選擇金鑰型別,一般選 Ed25519;需要相容很老的系統時選 RSA 4096。
- 可以填寫備註(例如電子郵件或電腦名),方便在伺服器上區分不同的金鑰。
- 點「生成金鑰對」。把公鑰新增到伺服器的 ~/.ssh/authorized_keys 或 GitHub 的 SSH keys 設定裡。
- 下載私鑰儲存到 ~/.ssh/ 目錄,並執行 chmod 600 設定權限。
引數說明
- Ed25519
- 基於 Curve25519 的簽名演算法,公鑰只有 68 個字元,安全性相當於 RSA 3072 以上,速度快,是目前的首選。
- RSA
- 相容性最好。2048 位是最低要求,OpenSSH 目前預設 3072 位,4096 位更保守但生成稍慢。
- 輸出格式
- 公鑰為 OpenSSH 單行格式;私鑰為 OpenSSH 格式(與 ssh-keygen 生成的 id_ed25519、id_rsa 相同),另附 PEM 格式(PKCS#8 私鑰、SPKI 公鑰)供其他程式使用。
- 指紋
- SHA256 指紋,與 ssh-keygen -lf 和 GitHub 設定頁顯示的一致,可以用來核對金鑰。
新增到伺服器
# 把公鑰追加到伺服器上
echo "ssh-ed25519 AAAA... me@laptop" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
# 本地儲存私鑰後
chmod 600 ~/.ssh/id_ed25519
ssh -i ~/.ssh/id_ed25519 user@server
常見問題
在網頁上生成金鑰安全嗎?
金鑰由瀏覽器內建的 WebCrypto 介面生成,使用系統的安全隨機數,全過程在本地完成,頁面不會上傳任何內容,斷網也能用。對於特別敏感的用途,仍建議在自己的電腦上用 ssh-keygen 生成。
私鑰為什麼沒有密碼?
瀏覽器生成的是未加密私鑰。儲存後可以執行 ssh-keygen -p -f ~/.ssh/id_ed25519 為它設定密碼。
Windows 能用嗎?
可以。Windows 10/11 自帶 OpenSSH 客戶端,把私鑰儲存到 C:\Users\你的使用者名稱\.ssh\ 下即可。PuTTY 需要先用 PuTTYgen 把私鑰轉換成 .ppk 格式。
公鑰和私鑰怎麼對應?
執行 ssh-keygen -y -f 私鑰檔案,會輸出對應的公鑰,可以和頁面上的公鑰核對。
隱私說明
本工具完全在瀏覽器中執行,檔案和文字都在你的裝置上處理,不會上傳到我們的伺服器。