アクセス制御を処理するために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以上のキーの大規模なグループに対してより効率的です。
これがどれだけ速いかについては、GitHubで実際に効率を確認できます。これほど多くのキーで重大なボトルネックが発生することはありません。
2009年のブログに記載されています ですが、データベースからのsshキーの取得方法が変更されています。帽子のヒント:@Jeremey
ただし、8kを超えるキーを作成したため、50kのキーで再度テストできます。
これらのキーは有効なキーである必要はありません。ジェネレーターを作成してファイルを作成し、最後に自分のキーを追加するだけです。