Permitir que contas do sistema efetuem login em outro servidor sem senhas

1

Eu gostaria de permitir que o usuário 'devel' faça o login em qualquer outro servidor usando chaves públicas como usuário 'devel'. Este usuário não é humano, mas uma conta somente de scripts. Como posso fazer isso? O Puppet é o caminho certo? Como cada servidor source recebe o material de chave necessário? Estou muito ciente de como as chaves públicas e privadas são usadas para a autenticação SSH e o grau de confidencialidade que acompanha as chaves privadas.

Suponha que haja 100 servidores e private & chaves públicas precisam ser trocadas a cada 90 dias.

    
por Felipe Alvarez 20.12.2016 / 04:39

1 resposta

2

Isso parece um possível caso de uso para o Cofre da Hashicorp.

O backend do SSH permite dois modos de operação:

  • senhas de uma só vez, que exigem a instalação de um componente auxiliar em cada servidor que verifica usuários com o Vault - clientes anteriores consultam o Vault por meio de uma API e, para cada acesso, uma nova senha é emitida

  • chave dinâmica - basicamente um servidor proxy (no sentido de fazer o trabalho para você) gerando pares de chaves, emitindo chave privada para clientes e instalando chaves públicas em servidores - com esse método você precisa distribuir " "chave SSH permanente para servidores, mas pode definir a expiração de chaves emitidas para clientes - quando um par de chaves expira, o Vault remove a chave pública correspondente dos servidores

Qualquer método pode ser automatizado para scripts. Eles ainda precisam ser autenticados com o Vault, mas você tem um único ponto de controle.

    
por 20.12.2016 / 06:49