No EC2, existe uma maneira de gerenciar centralmente as chaves SSH?

5

Eu tenho vários desenvolvedores remotos e vários servidores no EC2. Existe uma maneira de gerenciar centralmente o arquivo authorized_keys no EC2, em vez de ter que adicionar chaves manualmente em cada servidor?

    
por chrism2671 04.04.2011 / 16:49

6 respostas

1

Se você conseguir configurar sua imagem base para se utilizar como um cliente Puppet, poderá usar as diretiva ssh_authorized_key , ou até mesmo gerenciar um arquivo de modelo diretamente usando o tipo de arquivo e empurrando-o para o arquivo .ssh/authorized_keys .

O Puppet também inclui utilitários para gerenciar o provisionamento por meio do EC2, para que você possa realmente transformar tudo em um único local.

    
por 10.02.2012 / 03:48
5

Uma opção é ter uma pequena instância configurada, você fornece a todos os seus desenvolvedores acesso a esta máquina. Eles SSH para ele, ea máquina tem uma chave ssh autorizada que lhes permite acesso a todas as outras máquinas. Você pode usar firewalls nas máquinas para impedir logins SSH de outros endereços IP.

Outra opção seria configurar algo como o Puppet, que seria capaz de gerenciar o arquivo authorized_keys para você.

Ainda outra opção é configurar um script para rsync o arquivo authorized_key para todos os hosts quando ele é alterado em uma máquina. Você poderia usar algo como o lsyncd para automatizar isso.

Lembre-se de que, apenas porque você revogou uma chave SSH de desenvolvedores, isso não significa que você removeu o acesso que eles podem ter a essa máquina. Uma pessoa mal-intencionada com acesso SSH pode configurar algo como um shell invertido ou adicionar vários tipos de backdoors ao código em que está trabalhando.

    
por 06.04.2011 / 04:23
2

Acabei de adicionar de volta a autenticação de senha ao SSH, para que pudesse gerenciá-lo com o nome de usuário e as senhas no servidor. Estaria interessado em ver como outras pessoas abordaram isso.

    
por 04.04.2011 / 16:59
2

Você pode usar o LDAP , mas precisará aplicar o patch do OpenSSH e criá-lo você mesmo. Mas você também recebe gerenciamento centralizado de contas.

    
por 29.05.2011 / 09:02
0

É muito difícil gerenciar as chaves do SSH em instâncias, e não há soluções fáceis que me ocorram. Softwares de gerenciamento de nuvem, como RightScale e Scalr , resolvem esse tipo de problema. O Scalr fornece acesso SSH com um clique a qualquer uma das suas instâncias usando o acesso seguro por chave e permite que você baixe novamente as chaves se as perder. O Scalr é de código aberto ou está disponível on-line por meio de uma versão hospedada.

PS: Eu trabalho na Scalr

    
por 08.02.2012 / 19:58
0

Userify.com gerencia contas de usuário, chaves SSH e funções sudo.

É muito fácil implantar usando os Dados do usuário da AWS (na guia Avançado de lançamento da instância) ou colocá-los no script UserData para um grupo de escalonamento automático ou sempre que você estiver lançando uma instância manualmente, o que é ótimo porque funciona antes mesmo de fazer o login. (Ou você pode simplesmente colar o one-liner no console do seu servidor, mas isso não é tão divertido ...)

Ele suporta Chef e coisas assim, e cada usuário (desenvolvedor / admin / etc) recebe seu próprio login na web para atualizar as chaves. É muito indolor.

    
por 09.11.2014 / 19:18

Tags