首頁 > 網路管理 > ssh-keygen

ssh-keygen:SSH 金鑰對的生成與管理

ssh-keygen 是用於生成、管理和轉換 OpenSSH 認證金鑰對(公開金鑰和私鑰)的實用程式。它是透過 SSH 安全連接到遠端伺服器或向 Git 等服務進行身份驗證的核心工具。

概述

ssh-keygen 是生成和管理 SSH 協定中使用之加密金鑰的必要指令。透過此指令,您可以無需密碼即可安全地連接到伺服器,或向 Git 等服務進行身份驗證。

主要功能

  • 生成 RSA、ED25519 等多種 SSH 金鑰對
  • 變更現有金鑰的密碼 (passphrase)
  • 從私鑰中提取公開金鑰
  • 檢查金鑰指紋 (fingerprint)
  • 轉換金鑰格式

主要選項

ssh-keygen 指令提供多種用於金鑰生成和管理的選項。

金鑰生成選項

金鑰管理選項

生成的命令:

請試著組合命令。

這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。

`ssh-keygen` 執行命令。

請將上述選項組合在一起,與 AI 一同虛擬執行命令。

使用範例

透過 ssh-keygen 的各種使用範例,您可以學習如何生成和管理 SSH 金鑰。

生成預設 RSA 金鑰對

ssh-keygen

最常見的用法,在預設路徑(~/.ssh/id_rsa)下生成 RSA 金鑰對。系統會提示您輸入密碼。

生成 ED25519 金鑰對並新增註解

ssh-keygen -t ed25519 -C "your_email@example.com"

生成 ED25519 類型的金鑰,並在公開金鑰中新增電子郵件註解。

以特定檔案名稱生成金鑰對

ssh-keygen -f ~/.ssh/my_custom_key

以非預設名稱生成金鑰檔案。(例如:~/.ssh/my_custom_key)

變更現有金鑰的密碼

ssh-keygen -p -f ~/.ssh/id_rsa

變更已生成私鑰檔案的密碼。系統會以互動方式要求您輸入現有密碼和新密碼。

從私鑰提取公開金鑰

ssh-keygen -y -f ~/.ssh/id_rsa

從私鑰檔案 (id_rsa) 中提取相應的公開金鑰,並顯示在標準輸出上。您可以將此內容儲存到 `id_rsa.pub` 檔案中。

提示與注意事項

為了安全有效地使用 SSH 金鑰,請注意以下提示和事項。

使用密碼 (Passphrase)

為私鑰設定密碼可以在金鑰洩漏時防止未經授權的使用,從而增強安全性。與 `ssh-agent` 一起使用,可以避免每次都輸入密碼,提高便利性。

  • **增強安全性**:在私鑰洩漏時提供額外的保護層
  • **便利性**:利用 `ssh-agent`,一次驗證即可在多個會話中使用

設定金鑰檔案權限

私鑰檔案必須設定為只有擁有者才能讀取和寫入。為了防止其他使用者存取,使用 `chmod 600` 至關重要。

  • **私鑰**:`chmod 600 ~/.ssh/id_rsa`(僅擁有者可讀取/寫入)
  • **公開金鑰**:`chmod 644 ~/.ssh/id_rsa.pub`(擁有者可讀取/寫入,群組/其他人可讀取)

建議的金鑰類型

為了符合最新的安全標準,建議使用 ED25519 或 RSA 4096 位元金鑰。

  • **ED25519**:更快、更安全,且金鑰尺寸更小
  • **RSA 4096**:廣泛相容,並仍提供強大的安全性

相同類別命令