Если я использую что-то вроде gitolite для управления доступом, насколько хорошо масштабируется author_keys? То есть, если я скажу 50 000 пользователей, какой будет производительность (думаю, это не очень хорошо). Какие есть альтернативы?
Обновление: я решил сделать некоторое тестирование самостоятельно (что я должен был сделать в первую очередь). Я написал простой скрипт для генерации ключей SSH и добавления их в файл author_keys. Мой компьютер не такой быстрый, поэтому я сгенерировал только 8 061 ключ, а затем добавил свой собственный в конец, файл оказался размером 3,1 МБ. Затем я добавил репозиторий 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+.
authorized_keys
Файл с 50k ключами только около 25Мб. Конечно, это будет полностью кэшироваться в буферах файловой системы. Я полагаю, что время нахождения ключа в файле будет меньше времени, когда он действительно будет использовать этот ключ для аутентификации пользователя.