Repositório de chave pública - isso existe?

4

Este é um daqueles "Certamente isso já existe, e se não, eu muito melhor construí-lo!" momentos.

Aqui está o meu problema: eu corro um devteam, de cerca de 10 pessoas. Cada um de nós tem nossa (s) própria (s) chave (s) privada (s). Quando eu vou configurar um novo servidor para nós, eu tenho que importar todas as suas chaves para ele. E se começarmos a trabalhar com um empreiteiro, eu tenho que pegar a chave dele também, e então importá-la e colocá-la em .ssh/authorized_keys no servidor.

Idealmente, gostaria de poder fazer algo nos seguintes moldes:

import_key allegroconmolto

E ele entraria em contato com um repositório público de chaves públicas, veria se havia um usuário chamado allegroconmolto e, em caso afirmativo, importaria sua chave e a adicionaria às minhas authorized_keys. Adicionar usuários futuros seria tão simples quanto executar import_key para eles. Eu poderia então scp o arquivo authorized_keys para todos os meus servidores e pronto!

Isso parece tão óbvio que eu sinto que certamente deve existir em algum lugar.

    
por tkrajcar 18.11.2011 / 01:40

1 resposta

1

Os servidores LDAP são usados com frequência para essa finalidade - você indica em qual servidor ldap você confia e em quais entidades você confia ... e depois que seus serviços de servidor procuram credenciais conforme necessário no servidor. É provavelmente mais esforço do que vale em sua dúzia de cenários de usuários. Um script de shell simples que adiciona novas chaves ao arquivo correto (authrized_keys em algum lugar) é provavelmente o melhor - > é claro que o shell script é sensível ... cat < emailedPublicKey > > em algum lugar / authorized_keys é uma solução razoável na sua escala IMO.

Se você quiser o roteamento LDAP, você estará no caminho:

  • Servidor LDAP sólido (baseado em UMich slapd originalmente IIRC): link
  • Atributo para certificados de usuário (não ignore o qualificador '; binary'!: usercertificate; binary
  • Introdução à autenticação via LDAP: link

Observe que você não sai do problema de gerenciar a confiança, pois ainda é necessário indicar em quem você confia ou como determinar em quem você confia, pois é necessário definir um mapeamento para um servidor de terceiros ou manter seu próprio servidor.

    
por 18.11.2011 / 07:15

Tags