web-dev-qa-db-ja.com

authorized_keysはどの程度拡張できますか?

アクセス制御を処理するためにgitoliteのようなものを使用している場合、authorized_keysはどの程度適切にスケーリングされますか?つまり、50,000人のユーザーと言った場合、パフォーマンスはどのようになりますか(あまり良くないと思います)。選択肢は何ですか?

更新:私は自分でいくつかのテストを行うことにしました(最初に行うべきだった)。 SSHキーを生成し、authorized_keysファイルに追加する簡単なスクリプトを作成しました。私のコンピューターはそれほど高速ではないので、8,061個のキーを生成し、最後に自分のキーを追加しただけで、ファイルは3.1MBになりました。次に、1つのファイルを含むgitリポジトリを追加し、gitcloneを3回実行しました。

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以上のキーの大規模なグループに対してより効率的です。

11
Jeremy

これがどれだけ速いかについては、GitHubで実際に効率を確認できます。これほど多くのキーで重大なボトルネックが発生することはありません。

2009年のブログに記載されています ですが、データベースからのsshキーの取得方法が変更されています。帽子のヒント:@Jeremey

ただし、8kを超えるキーを作成したため、50kのキーで再度テストできます。

これらのキーは有効なキーである必要はありません。ジェネレーターを作成してファイルを作成し、最後に自分のキーを追加するだけです。

7
vgoff