概述
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**:廣泛相容,並仍提供強大的安全性