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.Respuestas:
En realidad, puede ver la eficiencia en GitHub en cuanto a qué tan rápido es esto. No va a causar un cuello de botella significativo con tantas claves.
Aunque como se documenta en su blog de 2009 , han cambiado la forma en que se recuperan las claves ssh, desde una base de datos. Punta de sombrero: @Jeremey
Pero, si creó más de 8k claves, puede probar nuevamente con 50k claves.
Esas claves no necesitan ser claves válidas, solo escriba un generador y escriba el archivo y luego agregue el suyo hasta el final.
fuente