Pares de chaves devem ser gerados pelo usuário.
O usuário mantém a metade privada - você nunca deve vê-la. Se você tiver a chave privada de alguém em um formulário em que possa lê-la / usá-la, estará fazendo um erro de segurança.
A metade pública é fornecida a você (por qualquer mecanismo que você queira: formulário da Web, email, doe-me-em-um-CD), para ser centralizado da maneira que desejar. Alguns lugares armazenam as chaves públicas no LDAP. Outros enviam authorized_keysarquivos usando seu sistema de implantação.
No meu ambiente, os usuários que precisam de acesso ao shell me fornecem suas chaves públicas. Essas chaves são adicionadas ao nosso sistema LDAP e sshdconsultam as chaves públicas listadas para cada usuário para autenticá-las, por meio do patch da Chave Pública LDAP .
Quando alguém precisa adicionar uma chave adicional ou revogar uma chave existente, avisa o administrador e nós cuidamos dela. Eventualmente, à medida que escalarmos, implementarei um sistema que permita às pessoas girar suas próprias chaves públicas.
Cada um de nossos sites possui um par de servidores LDAP, sincronizados com o mestre com replicação LDAP, que mantém os dados consistentes (e acessíveis) em cada local.
Tudo o que descrevi pode ser feito com software de código aberto. Também existem produtos comerciais que fazem a mesma coisa.
Você precisa pesquisar as opções disponíveis mais detalhadamente e decidir qual delas se adequa melhor ao seu ambiente. Se você tiver mais perguntas (mais específicas), provavelmente podemos ser mais úteis.