Si estoy usando algo como gitolite para manejar el control de acceso, ¿qué tan bien se escalan autorizado_claves? Es decir, si tengo 50,000 usuarios, ¿cómo será el rendimiento (supongo que no es muy bueno). Cuales son las alternativas?
Actualización: decidí hacer algunas pruebas yo mismo (que debería haber hecho en primer lugar). Escribí un script simple para generar claves SSH y agregarlas a un archivo autorizado_keys. Mi computadora no es tan rápida, así que solo generé 8.061 claves y luego agregué la mía al final, el archivo terminó en 3.1MB. Luego agregué un repositorio git con un archivo y ejecuté git clone tres veces:
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
El rendimiento es mucho mejor de lo que pensé que sería. Todavía estoy muy interesado en cualquier alternativa que pueda ser más rápida y eficiente para un gran grupo de claves de más de 50,000.
authorized_keys
archivo con claves de 50k solo tiene alrededor de 25MB. Seguramente eso quedará completamente en caché en los búferes del sistema de archivos. Me imagino que el tiempo para encontrar la clave en el archivo se vería eclipsado por el momento de usar esa clave para autenticar al usuario.