Мой любимый метод позволяет автоматически выбирать закрытый ключ
IdentityFile ~/.ssh/%l_%r@%h_id_rsa
SSH заменит% l на имя локального компьютера,% r с удаленным именем пользователя и% h с удаленным хостом, таким образом, если бы я хотел подключиться с моего компьютера под названием foo к bar как пользователь, я запускаю:
ssh bar
И ssh будет автоматически использовать:
~/.ssh/foo_user@bar_id_rsa
Поскольку локальный хост также сохраняется, это позволяет использовать домашние каталоги, разделяемые по NFS (по разному ключу на машину!) или даже идентифицировать, на какой машине должен был быть ключ ...
Бинарный поиск может легко обрабатывать миллионы записей, поэтому поиск в одном каталоге не будет проблемой. Это будет очень быстро.
В принципе, если вы используете 32-битную систему, двоичный поиск до записей 2Gb прост и хорош.
Berekely DB, программное обеспечение с открытым исходным кодом, легко разрешить вам хранить полный результат под одной записью и будет иметь встроенный поиск.