O que é uma maneira boa e segura de compartilhar ssh-keypairs?

5

Eu tenho alguns pares de chaves, que são usados como autenticação, para ssh em meus servidores na nuvem da Amazon. Eu rotaciono esses certificados semanalmente, manualmente. Minha pergunta é, eu preciso compartilhar os certificados com alguns colegas, alguns na rede local e alguns em outra parte do país. Qual é a melhor prática para compartilhar o certificado? Meus pensamentos iniciais foram Dropbox e email. Nós não hospedamos servidores de e-mail dedicados com criptografia e tudo, e não temos uma VPN.

Obrigado.

    
por theTuxRacer 01.03.2011 / 07:33

2 respostas

9

Eu duvido que você esteja realmente usando certificados para autenticação. Quase toda a autenticação SSH não baseada em senha é feita com pares de chaves pública-privada, mas sem certificados envolvidos. Antes de escrever esta resposta, eu pesquisei "certificados ssh" e os 5 primeiros acessos eram de idiotas que se referiam erroneamente a chaves públicas simples (não a certificados) como certificados.

Veja como a autenticação SSH via pares de chaves pública-privada funciona:

Primeiro, você gera um par de chaves. Estas são duas chaves criptograficamente ligadas, onde qualquer coisa criptografada com uma chave só pode ser descriptografada pela outra, e vice-versa. Uma das duas chaves do par é considerada a chave pública e você não se importa com quem a vê. Na verdade, na maioria dos casos, você quer que sua chave pública seja publicada no mundo inteiro. A outra chave é considerada a chave privada e você não quer que ninguém além de você tenha acesso à sua chave privada.

No caso de autenticação SSH por par de chaves pública-privada, você coloca sua chave pública no arquivo authorized_keys em sua conta no servidor (nesse caso, sua instância do Amazon EC2), e o servidor permite que qualquer pessoa conheça o > chave privada que é acoplada a essa chave pública para efetuar login no servidor.

Quem se importa se alguém violar sua conta em sua instância do Amazon EC2 e roubar sua chave pública? Uma chave pública não permite que façam login como você, porque conhecer a chave pública não permite que eles conheçam a chave privada e você não pode entrar na conta a menos que tenha o privado chave que vai com a chave pública que está na conta.

Você só precisa alterar suas chaves públicas SSH em sua instância do Amazon EC2 quando sua chave privada (em sua própria máquina cliente SSH em casa ou no trabalho) é violada.

Se você precisar que seus vacinadores façam login nas mesmas contas em suas instâncias do EC2, peça-lhes que enviem suas chaves públicas SSH - por qualquer meio, sem o sigilo necessário, já que estas são apenas suas chaves públicas, não suas chaves privadas - e anexam essas chaves públicas aos arquivos authorized_keys nas contas em suas instâncias do Amazon EC2. Então, você pode acessar todas as contas e manter todas as suas chaves privadas completamente privadas, nunca as enviando para lugar nenhum.

    
por 01.03.2011 / 09:01
1

Contanto que você não esteja compartilhando a chave privada e apenas a chave pública, será seguro enviá-la pelo método de comunicação menos seguro em que puder pensar. É computacionalmente proibitivo tentar derivar a chave privada da chave pública, e continuará sendo até que os computadores quânticos tenham suas pernas.

Para algum contexto, confira aqui .

    
por 01.03.2011 / 07:39