Eu te entendo muito bem. Quando implementei a autenticação RSA para acessar nossos servidores apenas para os desenvolvedores, tive dias realmente desagradáveis. Na verdade, a maioria dos usuários comuns ainda me odeia por "senhas muito enigmáticas". Não posso fazer isso funcionar imediatamente, mas talvez algumas notas regulares sobre segurança dêem alguns resultados e os usuários entendam por que isso é necessário.
Você não pode fazer muito nos computadores dos usuários. Na verdade, se você tiver direitos administrativos nos computadores do escritório, poderá executar algumas verificações de caminhos de chaves SSH padrão, verificar ssh-agents em execução, senhas de chave, ler .ssh/config
para coletar informações adicionais. Mas se a chave estiver armazenada em algum outro lugar, você não poderá fazer muita coisa.
Foi dito em algum lugar que você deve confiar, mas verifique nesta situação. Isso significa que você pode verificar como o usuário está acessando o servidor e consultá-lo porque é necessário usar uma senha para proteger a chave privada, etc.
Quanto à parte do servidor, estou armazenando todas as chaves públicas dos usuários no banco de dados LDAP e estou usando o servidor SSH corrigido para obter chaves públicas do LDAP. O patch é chamado LPK e não é necessário configurar junto com a autenticação / autorização LDAP PAM. A página inicial é o link . Eu apenas reconstruo o pacote debian com este patch (às vezes modificando um pouco para encaixar bem) e armazeno no repositório local de nossa empresa que tem alta prioridade. O LDAP está disponível para armazenar várias chaves do usuário e, se alguma chave estiver comprometida ou perdida, apenas removerei sua parte pública do servidor LDAP.