authorized_keys 的扩展性如何?

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 多个大型密钥组。

答案1

您实际上可以在 GitHub 上看到其效率有多快。如此多的密钥不会造成严重的瓶颈。

尽管2009 年在他们的博客中记录,他们改变了从数据库检索 ssh 密钥的方式。提示:@Jeremey

但是,您创建了超过 8k 个密钥,您可以使用 50k 个密钥再次测试。

这些密钥不需要是有效密钥,只需编写一个生成器并写入文件,然后将您的密钥附加到末尾。

相关内容