無法辨識的 SSH 金鑰實際代表甚麼
GitHub 帳戶上列出的 SSH 金鑰,是一項能以該帳戶身分通過驗證的憑證。看到自己不認識的金鑰,是展開調查的理由,而非結論。這條金鑰可能屬於你遺忘的裝置、前團隊成員的設定、舊手提電腦,或一些你未曾授權的東西。穩妥的做法是先辨識擁有人及用途,然後才刪除,因為移除正常運作流程所使用的金鑰,會令該流程中斷。
GitHub 將幾類項目視為獨立的存取途徑。個人 SSH 金鑰、附加於儲存庫的部署金鑰,以及已授權的 OAuth 應用程式,屬於不同機制,各有不同權限範圍。審查其中一項,並不等於審查了其餘各項。
GitHub 建議將 SSH 金鑰、部署金鑰及已授權應用程式視為獨立的存取途徑分別審查。來源
刪除前後檢查清單
可將以下內容當作工作清單使用。「刪除前」一欄着重蒐集事實;「刪除後」一欄着重確認結果。
| 階段 | 檢查項目 | 重要性 |
|---|---|---|
| 刪除前 | 列出帳戶上顯示的每一條 SSH 金鑰,包括其標題及任何可見的指紋或建立詳情 | 決定哪一項無法辨識之前,需要掌握全貌 |
| 刪除前 | 將每條金鑰對應到你能說出名稱的裝置或人物 | 無法對應名稱的金鑰,就是需要質疑的一條 |
| 刪除前 | 查詢是否有現行流程依賴該金鑰(建置、部署、共用機器) | 刪除使用中的金鑰會令該流程中斷 |
| 刪除前 | 檢查相同存取權是否亦透過部署金鑰或已授權應用程式授予 | 這些是獨立途徑,需要另行審查 |
| 刪除前 | 決定處置方式:保留、更換或刪除 | 已過時的金鑰可能需要更換,而非單純移除 |
| 刪除後 | 確認該金鑰不再出現在帳戶的 SSH 金鑰清單中 | 可見清單是你的第一重確認 |
| 刪除後 | 確認受影響流程仍可運作,或你已有替代途徑 | 移除後不應令正常流程無法繼續 |
| 刪除後 | 記錄移除了甚麼及何時移除,但不要記錄金鑰本身內容 | 記錄有助日後審查 |
移除帳戶 SSH 金鑰
移除動作本身在帳戶設定中進行。GitHub 記載的路徑是「Settings」,然後「SSH and GPG keys」,你可在該處檢視帳戶 SSH 金鑰,並刪除無法辨識或已過時的金鑰。
在 Settings 的 SSH and GPG keys 中,檢視帳戶 SSH 金鑰,並刪除無法辨識或已過時的金鑰。來源
保持範圍狹窄。這一步只移除帳戶 SSH 金鑰,不會移除部署金鑰、撤銷已授權應用程式,或更改儲存庫內容。若審查在這些範疇發現問題,應作為獨立任務處理。
刪除前應考慮的正常運作流程
並非每條陌生金鑰都帶有惡意。行動前可考慮以下常見情況:
- 你已不再使用的裝置。 舊手提電腦或工作機器可能仍註冊了金鑰。若裝置仍在手上,可確認是否吻合;若不在,刪除通常是正確做法。
- 共用或團隊機器。 其他人可能基於正常用途添加了金鑰。移除前應與擁有人確認。
- 部署或自動化設定。 若金鑰由排程程序使用,刪除會令該程序中斷。應先辨識依賴關係。
- 你建立過但遺忘的金鑰。 標題和建立日期通常有助喚起記憶。若能對應到自己過往的設定,可選擇保留或更換,而非刪除。
如有疑問,較穩妥的次序是先辨識,然後以你控制的金鑰更換,最後移除舊項目。這樣可在關閉不明途徑的同時,保留可用的路徑。
此流程不涵蓋的事項
移除 SSH 金鑰是針對性的行動,並非全面清理帳戶。它不會:
- 撤銷 OAuth 應用程式或其他已授權整合;
- 從儲存庫移除部署金鑰;
- 證明金鑰由誰建立或為何建立;
- 確認不存在其他存取途徑。
上述每一項均應視為獨立檢查。審查是一連串小型、可驗證的步驟,而非單一開關。
用戶名稱搜尋適用與不適用之處
公開用戶名稱搜尋可助你了解某個已知帳戶名稱在公開平台上似乎與甚麼有關聯。當你嘗試理解某個身分或網絡足跡時,這是實用的背景資料。它並非檢視 GitHub 帳戶設定的方法,亦無法告訴你誰擁有某條 SSH 金鑰。TruthsSeek 所介紹的應用程式 TraceSeek,會在多個 3,000+ 平台上檢查已知的公開用戶名稱,並於 20–30 秒內返回首次掃描結果,首次掃描免費。它不會操作 GitHub 設定,而公開配對結果只是線索,並非擁有權的證明。
安全處理憑證
切勿在聊天、議題、截圖或論壇帖文中公開私人金鑰、權杖或完整憑證。如需協助辨識金鑰,只分享非機密細節,例如其標題或可見指紋,並且只與你信任的人分享。若懷疑金鑰已外洩,從帳戶移除是其中一步;輪換任何依賴該金鑰的項目,是另一項應審慎作出的決定。