A new thing I have been tasked with trying/exploring is setting up a server that will essentially have 200 to 300 people ssh'ing into a single user to run a task. They might only need to do it once a day or several times a day. The problem is that they could each connect as many devices as they want. On the outside chance that they each have 3 or 4 devices to have public ssh keys we can potentially get up to 1000 keys in the autorized_keys file. Considering that it is really only a text file a 1000 keys could potentially have a performance hit.
Is there anyway to pull this out the keys into a db or something else instead of authorized_keys file?
On curiosity note it might not be a big deal for 1000 users, but it got me wondering how someone like github can handle 500,000 users on their git@github.com user. I know I personally have 3 different keys associated to my account, and I know many others with multiple. I am not used to things of scale like this so am really curios. Is LDAP this performant to manage this? or even some kind of ssh gateway?