SSH 金鑰與憑證驗證
按四步完成設定:產生金鑰/憑證 → 設定裝置 → 上傳雲端 → 連線驗證。
準備:裝置已啟用、處於 Online 狀態並執行 OpenSSH Server;由艦隊 Master / Admin 透過 HTTPS 設定 JelinaCloud。
步驟一:產生 SSH 金鑰 / OpenSSH 使用者憑證
Section titled “步驟一:產生 SSH 金鑰 / OpenSSH 使用者憑證”普通金鑰登入只需產生使用者金鑰;憑證登入需先產生使用者金鑰,再簽發使用者憑證。
在電腦上建立並開啟空資料夾,例如 JelinaSSH,按系統開啟終端並執行:
在資料夾位址列輸入 powershell,按Enter 鍵,然後執行:
ssh-keygen -t ed25519 -a 64 -f jelina_operator -C "JelinaCloud-operator"找不到命令時,在 Windows「選用功能」安裝「OpenSSH 用戶端」,再重新開啟 PowerShell。
在資料夾空白處右鍵選擇「在終端開啟」,然後執行:
ssh-keygen -t ed25519 -a 64 -f jelina_operator -C "JelinaCloud-operator"找不到命令時,先安裝 OpenSSH 用戶端:Ubuntu / Debian 為 openssh-client,Fedora / RHEL 為 openssh-clients。
出現 Enter passphrase 時設定私密金鑰通關密語,Enter same passphrase again 時再輸入一次;輸入不顯示字元。不設通關密語可兩次直接Enter 鍵。若提示 Overwrite (y/n)?,輸入 n 保留已有檔案。
完成後,目前資料夾中會產生:
| 檔案 | 用途與去向 |
|---|---|
jelina_operator(無後綴) |
使用者私密金鑰,用於登入;上傳雲端私密金鑰欄 |
jelina_operator.pub |
使用者公開金鑰;普通金鑰登入時將內容新增到裝置,憑證登入時交給 CA 簽發 |
裝置要求 RSA 金鑰時
改用以下命令,Windows / Linux 通用:
ssh-keygen -t rsa -b 3072 -a 64 -f jelina_operator_rsa -C "JelinaCloud-operator"產生 jelina_operator_rsa 和 jelina_operator_rsa.pub;後續步驟同步使用這些檔名。
將 jelina_operator.pub 交給已有 CA 的管理員簽發。自行簽發時,在管理電腦的目前資料夾準備好該公開金鑰,按順序執行下面的命令。
- 產生 CA 金鑰,按提示設定並確認通關密語。已有 CA 時跳過,後續使用實際 CA 檔案。
ssh-keygen -t ed25519 -a 64 -f ca_ed25519 -C "JelinaCloud-customer-CA"- 簽發使用者憑證,按提示輸入 CA 私密金鑰通關密語:
ssh-keygen -s ca_ed25519 -I operator-access-001 -z 1 -n ops-alice -V "-1m:+8h" jelina_operator.pub- 產生 CA 金鑰,按提示設定並確認通關密語。已有 CA 時跳過,後續使用實際 CA 檔案。
ssh-keygen -t ed25519 -a 64 -f ca_ed25519 -C "JelinaCloud-customer-CA"- 簽發使用者憑證,按提示輸入 CA 私密金鑰通關密語:
ssh-keygen -s ca_ed25519 -I operator-access-001 -z 1 -n ops-alice -V "-1m:+8h" jelina_operator.pub看到 Signed user key 表示完成。涉及的檔案如下:
| 檔案 | 用途與去向 |
|---|---|
ca_ed25519 |
CA 私密金鑰,用於簽發;僅簽發方保管,不上傳雲端或裝置 |
ca_ed25519.pub |
CA 公開金鑰,讓裝置信任該 CA;按步驟二新增其內容 |
jelina_operator-cert.pub |
使用者憑證;與使用者私密金鑰一起上傳雲端 |
本例主體為 ops-alice,憑證在簽發後 8 小時到期。可將 -V "-1m:+8h" 改為 -V "-1m:+7d" 等有限期限;序列號 -z 1 由簽發方分配記錄。檢視憑證內容:
ssh-keygen -L -f jelina_operator-cert.pub步驟二:設定裝置
Section titled “步驟二:設定裝置”在 JelinaOS(Linux)裝置上,編輯實際登入帳號的 authorized_keys。本例使用 operator,請換成裝置已有帳號:
| 登入帳號 | 授權檔案位置 |
|---|---|
operator,家目錄為 /home/operator |
/home/operator/.ssh/authorized_keys |
root |
/root/.ssh/authorized_keys |
檔案不存在時先建立;.ssh 目錄權限為 700,檔案為 600,擁有者為目標帳號。保留原內容,在末尾另起一行追加授權。無需把憑證檔案複製到裝置。
用文字編輯器開啟電腦上的 jelina_operator.pub,複製完整一行內容,貼上到上述授權檔案末尾:
ssh-ed25519 <使用者公開金鑰Base64> JelinaCloud-operator使用檔案的實際內容,不要複製預留位置。RSA 公開金鑰以 ssh-rsa 開頭,同樣整行複製。
用文字編輯器開啟 ca_ed25519.pub,複製完整一行內容。在授權檔案末尾先輸入以下前綴,再加一個空格,貼上 CA 公開金鑰:
cert-authority,principals="ops-alice",no-agent-forwarding最終應為同一行:
cert-authority,principals="ops-alice",no-agent-forwarding ssh-ed25519 <CA公開金鑰Base64> JelinaCloud-customer-CA使用 CA 公開金鑰的實際內容替換預留位置;ops-alice 必須與簽發時的 -n 一致。裝置新增的是 CA 公開金鑰和授權前綴,使用者憑證及使用者私密金鑰在下一步上傳雲端。
Windows 可右鍵公開金鑰檔案,選擇「開啟方式 → 記事本」。僅修改 authorized_keys 通常無需重新啟動 SSH;自訂授權路徑以裝置設定為準。
步驟三:設定 JelinaCloud 並上傳認證資料
Section titled “步驟三:設定 JelinaCloud 並上傳認證資料”上傳認證資料
Section titled “上傳認證資料”- 開啟艦隊「遠端存取管理 → 金鑰管理」,或裝置「遠端存取管理」,點選「新增 SSH 認證資料」。
- 填寫名稱、裝置系統帳號(例如
operator或root),選擇驗證方式並上傳檔案:
| 驗證方式 | 上傳內容 |
|---|---|
| SSH 金鑰 | 私密金鑰欄:jelina_operator |
| OpenSSH 使用者憑證 | 私密金鑰欄:jelina_operator;使用者憑證欄:jelina_operator-cert.pub |
- 私密金鑰有通關密語時填寫使用者私密金鑰通關密語,設定可使用成員及預設項,儲存。
共享認證資料放艦隊,單臺專用認證資料放裝置。CA 私密金鑰不上傳;儲存成功後繼續確認主機身分。
確認裝置主機身分
Section titled “確認裝置主機身分”主機公開金鑰用於確認目標裝置,與使用者金鑰和 CA 不同。在裝置上讀取已有公開金鑰:
cat /etc/ssh/ssh_host_*_key.pub在裝置「遠端存取管理 → 裝置主機身分」中逐行登記,核對對應的完整 SHA256: 指紋,一致後點選「核實並確認」。裝置提供多種受支援演算法時,分別登記、核實。
檢視裝置主機公開金鑰指紋
在裝置本機或可信管理通道中,按實際存在的檔案逐條執行;不存在的檔案跳過:
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub -E sha256ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub -E sha256ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub -E sha256裝置重灌或主機金鑰變化後,重新核實指紋。
步驟四:選擇認證資料登入並驗證
Section titled “步驟四:選擇認證資料登入並驗證”- 開啟裝置概要 →「遠端桌面」,選擇「SSH」,填寫裝置系統帳號。
- 選擇「SSH 金鑰」或「OpenSSH 使用者憑證」,再選擇已儲存的認證資料。
- 確認閒置斷開和最長連線時間,點選「連線」。無需再次上傳檔案或填寫私密金鑰通關密語。
- 出現終端後執行以下命令,確認回傳預期的裝置帳號:
whoami同一帳號、驗證方式下,裝置認證資料優先;沒有裝置設定才使用艦隊項。裝置認證資料過期、停用、撤銷或無權使用時,不會自動回退。
憑證到期後重新簽發,在金鑰管理點選「更新金鑰/憑證」。平台不自動續簽,也不會修改裝置授權。
支援格式與常見問題
- 使用者金鑰和簽發 CA 支援 Ed25519、RSA 2048~8192 位;使用者私密金鑰須為 OpenSSH-v1,每份私密金鑰或使用者憑證最大 64 KiB。
- 使用者憑證須有明確有效期、非空主體;簽章支援 Ed25519、RSA SHA-256 / SHA-512,不接受 SHA-1、critical options、ECDSA 使用者金鑰、X.509 或 SSH 主機憑證。
- 主機公開金鑰支援 Ed25519、ECDSA nistp256/384/521、RSA 2048~8192 位。RDP、VNC 仍使用密碼驗證。
| 問題 | 檢查 |
|---|---|
| 沒有可用認證資料 | 系統帳號、驗證方式、使用權限及裝置覆蓋情況 |
| 私密金鑰或通關密語錯誤 | 上傳匹配的使用者私密金鑰,填寫它的通關密語;不能用 CA 私密金鑰代替 |
| 裝置拒絕憑證 | CA 授權前綴、憑證主體、有效期、裝置時間及 SSH 帳號限制 |
| 主機身分未確認或變化 | 重新核實實際協商演算法對應的裝置主機公開金鑰 |
| 連線自動斷開 | 頁面顯示的閒置/最長時限、憑證有效期和裝置狀態 |
更多管理說明見遠端存取管理。