Geralmente você não deve ter mais de uma chave por máquina cliente (ênfase em "geralmente"). Não tenho certeza se estou entendendo sua pergunta corretamente, mas se você está dizendo que tem uma chave separada para cada sistema remoto, então você está definitivamente fazendo isso errado.
O ssh usa criptografia de chave pública. A chave que você instala no sistema remoto é a chave pública, não há absolutamente nenhum dano em reutilizar esta chave em outro lugar. É a chave privada que deve ser protegida e permanece no seu sistema pessoal.
Também é uma boa ideia ter a chave privada em apenas um cliente, não compartilhada. Isso é para que, se um cliente for comprometido, você possa revogar apenas essa chave.
Agora, se você está perguntando como você pode obter sua chave pública para centenas de sistemas, há algumas maneiras de fazer isso.
A maneira mais comum é usar diretórios pessoais compartilhados. Ter um NFS (ou outro sistema de arquivos de rede) montado (ou montado automaticamente) em todos os sistemas.
A outra maneira é aproveitar um novo recurso no ssh. É uma diretiva de configuração chamada AuthorizedKeysCommand
. Basicamente é um comando que o sshd irá rodar toda vez que precisar procurar uma chave pública. O comando simplesmente grava a chave pública do usuário que está sendo consultado no STDOUT. Isto é usado principalmente quando você não tem diretórios home montados, mas ainda tem um servidor de autenticação central ( FreeIPA aproveita isso).
É claro que você pode fazer outras coisas, como o rsync do cron job em /home
de um servidor central. Mas isso não é uma prática comum.