Publicando id_rsa.pub para facilitar a configuração de novos ambientes?

20

Para facilitar a configuração do SSH sem senha em novas máquinas e ambientes, existe alguma razão pela qual o arquivo id_rsa.pub (apenas a metade pública do par de chaves) não possa ser publicado em algum lugar na web? Por exemplo, em um repositório GitHub dotfiles.

Estou ciente de que:

  • o arquivo id_rsa (a metade privada do par de chaves) deve ser cuidadosamente guardado e
  • o par de chaves deve ser protegido com uma frase secreta

Mas minhas pesquisas não revelaram nenhum conselho explícito de que isso seja permitido ou incentivado.

Por curiosidade, o mesmo conselho seria válido para um par de chaves sem uma frase secreta?

    
por DouglasDD 26.03.2014 / 01:31

4 respostas

26

O RSA é projetado especificamente para permitir que você compartilhe essa chave pública; portanto, você pode publicá-la. Isso é bem parecido com o funcionamento do x.509 (e SSL) com certificados RSA.

Antes de publicar o arquivo, realmente olhe para ele; as únicas coisas que precisam estar lá são a palavra-chave "ssh-rsa" e a chave codificada em base64. Você pode querer mantê-lo para isso (acredito que este é o padrão agora).

Isso é verdadeiro, independentemente de a chave ter uma frase secreta. Uma frase secreta criptografa a chave privada e não afeta a chave pública.

Assegure, como sempre, que sua chave é suficientemente entrópica e grande. Se for gerado por um PRNG quebrado, pode ser previsível. No entanto, publicar isso não apresenta muito risco adicional, uma vez que se o keyspace for pequeno, um invasor pode simplesmente tentar com todas as chaves no espaço de chaves enumeradas até obter o correto.

Sugiro usar uma chave de 4096 bits (especifique -b 4096 ), para que seja mais difícil que o normal (o padrão é 2048) para alguém inverter sua chave pública em uma privada. Esse é o único risco significativo de se fazer isso, e não é muito grande, já que o algoritmo é especificamente projetado para torná-lo impraticável.

    
por 26.03.2014 / 01:56
33

Já é. :) Basta colocar ".keys" no final do URL do seu perfil do Github, assim:

link

    
por 26.03.2014 / 07:45
5

Embora como regra, eu não recomendo colocar sua própria configuração específica em repositórios públicos de projetos (assumindo que o repositório é para todos e sua configuração é para somente você , é um pouco rude), as implicações de segurança são mínimas.

O único vetor de ataque razoável é de alguma forma usar essa chave pública para identificar você em algum contexto malicioso. O que poderia ser está além de mim, mas a chave pública identifica exclusivamente a chave privada, embora não dê nenhuma indicação quanto à sua origem.

Há um vetor de ataque de caso de canto que provavelmente não se aplica, mas se você se lembrar do fiasco com Debian acidentalmente quebrando o PRNG openssl , qualquer chave ssh gerada em um sistema afetado é facilmente previsível e pode ser identificada por sua chave pública. Então, em esse caso, a publicação da chave pública pode causar problemas. Ou, mais apropriadamente, usar essa chave para qualquer coisa pode colocar você em problemas.

    
por 26.03.2014 / 02:11
1

Sim, você pode publicar sua publicação do SSH. E você pode publicar uma impressão digital do servidor usando o registro SSHFP no DNS! Isso pode ser muito útil, por exemplo, se você precisar atualizar / alterar a chave SSH de um servidor.

    
por 27.03.2014 / 00:18