Se sto usando qualcosa come gitolite per gestire il controllo degli accessi, in che misura si è autorizzato il dimensionamento dikey_key? Significa che se dico 50.000 utenti come sarà la performance (suppongo che non sia molto buona). Quali sono le alternative?
Aggiornamento: ho deciso di fare alcuni test da solo (cosa che avrei dovuto fare in primo luogo). Ho scritto un semplice script per generare chiavi SSH e aggiungerle a un file authorized_keys. Il mio computer non è così veloce, quindi ho generato solo 8.061 chiavi e poi ho aggiunto il mio alla fine, il file è finito per essere 3.1MB. Ho quindi aggiunto un repository git con un file e ho eseguito git clone tre volte:
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
Le prestazioni sono molto migliori di quanto pensassi. Sono ancora molto interessato a tutte le alternative che potrebbero essere più veloci, più efficienti per un grande gruppo di chiavi oltre 50.000.
authorized_keys
file con 50k chiavi è solo di circa 25 MB. Sicuramente questo sarà completamente memorizzato nella cache nei buffer del filesystem. Immagino che il tempo per trovare la chiave nel file sarebbe sminuito dal momento in cui la chiave verrà effettivamente utilizzata per autenticare l'utente.