Pregunta ¿Publicar id_rsa.pub para facilitar la configuración de nuevos entornos?


Para facilitar la configuración de SSH sin contraseña en nuevas máquinas y entornos, ¿hay alguna razón por la que id_rsa.pub ¿El archivo (solo la mitad pública del par de claves) no se pudo publicar en algún lugar de la web? Por ejemplo en un repositorio de GitHub dotfiles.

Soy consciente de que:

  • la id_rsa El archivo (la mitad privada del par de claves) debe ser cuidadosamente guardado y
  • El par de claves debe estar protegido con una frase de contraseña.

Pero mis búsquedas no han dado ningún consejo explícito de que esto esté permitido o recomendado.

Por curiosidad, ¿se mantendría el mismo consejo para un par de llaves sin una frase de contraseña?


20
2018-03-26 00:31


origen


Si bien podría ser seguro en el caso general (asumiendo una clave correctamente generada), fallas han existido en el pasado (el famoso Debian OpenSSH bug) que restringió severamente el espacio de teclas y dejó la clave privada en función de la clave pública. Así que siempre existe ese riesgo, ¿cómo saber ¿Que su SSH keygen no sufre de una falla similar? - Bob
Un mecanismo para esto ya existe: ssh-import-id - MikeyB
¿Así que puedes compartir id_rsa.pub entre máquinas? - Federico


Respuestas:


RSA está diseñado específicamente para permitirle compartir esa clave pública, así que sí, puede publicarla. Esto es bastante similar a cómo funciona x.509 (y SSL) con certificados RSA.

Antes de publicar el archivo, en realidad mirarlo; las únicas cosas que deben estar allí son la palabra clave "ssh-rsa" y la clave codificada en base64. Es posible que desee mantenerlo así (creo que este es el valor predeterminado ahora).

Esto es cierto ya sea que la clave tenga una frase de contraseña o no. Una frase de contraseña cifra la clave privada y no afecta a la clave pública.

Asegúrese, como siempre, de que su llave sea suficientemente entrópica y grande. Si es generado por un PRNG roto, podría ser predecible. Sin embargo, publicar esto no presenta mucho riesgo adicional, ya que si el espacio de claves es tan pequeño, un atacante podría simplemente intentar con todas las claves en el espacio de claves enumeradas hasta que obtengan la correcta.

Sugiero usar una clave de 4096 bits (especifique -b 4096), para que sea más difícil de lo habitual (el valor predeterminado es 2048) para alguien que invierta su clave pública en una privada. Ese es el único riesgo significativo al hacer esto, y no es muy grande ya que el algoritmo está diseñado específicamente para hacerlo poco práctico.


26
2018-03-26 00:56





Ya está. :) Simplemente ponga ".keys" en el final de la URL de su perfil de Github, así:

https://github.com/tjmcewan.keys


33
2018-03-26 06:45



Thant es realmente interesante. ¿Para qué expone GitHub esto? - richardneish
Conveniencia. :) Es una clave pública, después de todo, se debe compartir. Ahora es mucho más fácil tomar una nueva clave de colaborador y agregarla a sus servidores. Guarda el correo electrónico de ida y vuelta. - tjmcewan
No me di cuenta de que hicieron eso. - Zeb
+1 por el interesante hallazgo en Github. - Raymond Tau


Aunque como regla general, no recomiendo poner su propia configuración específica en repositorios de proyectos públicos (asumiendo que el repositorio es para todo el mundo y tu configuracion es para tu solo, es solo un poco grosero), las implicaciones de seguridad son mínimas.

El único vector de ataque razonable es de alguna manera usar esa clave pública para identificar Usted en algún contexto malicioso. Lo que podría ser está más allá de mí, pero la clave pública identifica de forma única la clave privada, aunque no da ningún indicio sobre su origen.

Hay un vector de ataque de esquina que probablemente no se aplique, pero si recuerda el fiasco con Debian rompiendo accidentalmente el openssl PRNG, cualquier clave ssh generada en un sistema afectado es fácilmente predecible y puede identificarse por su clave pública. Así que en ese Caso, publicando la clave pública podría meterte en problemas. O más apropiadamente, usando esa llave para cualquier cosa podría ponerte en problemas


5
2018-03-26 01:11



vector 1. ¿qué hay de colisión de huellas digitales? es mucho más corto que la clave pública; vector 2 mim ataque como "oops server tuvo que ser reinstalado, tiene una clave diferente, pero por favor inicie sesión de todos modos" y una autenticación falsa exitosa para las claves públicas de un usuario dado (si eso es posible, no estoy seguro)


Sí, puedes publicar tu SSH pubkey. Y puede publicar una huella digital del servidor utilizando el Registro SSHFP en DNS! Esto podría ser realmente práctico, por ejemplo, si necesita actualizar / cambiar la clave SSH de un servidor.


1
2018-03-26 23:18