Ssh
authorized_keys 的擴展性如何?
如果我使用 gitolite 之類的東西來處理訪問控制,那麼 authorized_keys 的擴展性如何?這意味著如果我說有 50,000 個使用者,性能會如何(我猜不是很好)。有哪些替代方案?
更新: 我決定自己做一些測試(我本來應該做的)。我編寫了一個簡單的腳本來生成 SSH 密鑰並將它們添加到 authorized_keys 文件中。我的電腦不是那麼快,所以我只生成了 8,061 個密鑰,然後將我自己的密鑰添加到最後,文件最終為 3.1MB。然後我添加了一個帶有一個文件的 git 儲存庫並執行了 git clone 三次:
With 8,061 keys (Mine is at the end of the file) real 0m0.442s real 0m0.447s real 0m0.458s With just a single key: real 0m0.248s real 0m0.264s real 0m0.255s
性能比我想像的要好得多。我仍然對任何可能對 50,000 多個密鑰組更快更有效的替代方案非常感興趣。
您實際上可以在 GitHub 上看到關於這有多快的效率。這麼多鍵不會造成嚴重的瓶頸。
儘管如2009 年的部落格中所述,他們已經更改了從數據庫中檢索 ssh 密鑰的方式。帽子提示:@Jeremey
但是,您創建了超過 8k 個密鑰,您可以使用 50k 個密鑰再次進行測試。
這些密鑰不需要是有效的密鑰,只需編寫一個生成器並寫入文件,然後將你的附加到末尾。