SSH CA Auth
告別密碼!使用 SSH CA 證書實現更安全、更方便的伺服器登入 您是否還在為管理多台伺服器上數不清的 authorized_keys 檔案而煩惱?或是擔心某位同仁的私鑰外洩,卻無法輕易地撤銷其存取權限? 傳統的 SSH 公鑰認證雖然比密碼安全,但在大規模的環境中,金鑰管理本身就是一個挑戰。今天,我們要介紹一個更優雅、更安全的解決方案:SSH 憑證頒發機構 (Certificate Authority, CA)。 透過建立自己的 CA,您可以集中管理所有伺服器的信任關係。伺服器不再需要知道每一個使用者的公鑰,它只需要信任您的 CA。接著,您可以為每一位使用者簽發有時效性的短期證書,大幅提升安全性與管理便利性。 這篇文章將帶您一步步建立自己的 SSH CA,並使用它來簽發使用者證書,實現無痛、安全的伺服器登入。 核心概念與角色分工 在開始之前,讓我們先理解整個流程中的三個主要角色以及它們各自掌管的檔案。 角色 職責 相關檔案 憑證頒發機構 (CA) 簽署使用者公鑰,核發證書。是信任的根源。 ca_key (私鑰), ca_key.pub (公鑰) SSH 伺服器 (Server) 被登入的遠端主機。它不認識使用者,只信任 CA。 ca_key.pub (CA 的公鑰) SSH 客戶端 (Client) 發起連線的使用者。持有自己的私鑰和 CA 核發的證書。 id_ed25519 (私鑰), id_ed25519-cert.pub (證書) 簡單來說,Server 藉由擁有 CA 的公鑰來信任 CA。Client 藉由持有 CA 簽發的證書來向 Server 證明自己的身份。 Step 1: 建立憑證頒發機構 (CA) 位置: 在您的管理工作站或一個安全的機器上 (此處即為 CA)。 首先,我們需要產生一組專門用來當作 CA 的金鑰。這組金鑰是整個信任鏈的核心,請務必妥善保管 CA 的私鑰 (ca_key)。 ...