Para facilitar la configuración de SSH sin contraseña en máquinas y entornos nuevos, ¿hay alguna razón por la que el id_rsa.pub
archivo (solo la mitad pública del par de claves) no se pueda publicar en algún lugar de la web? Por ejemplo en un repositorio GitHub dotfiles.
Soy consciente de que:
- el
id_rsa
archivo (la mitad privada del par de claves) debe guardarse cuidadosamente y - el par de claves debe protegerse con una frase de contraseña
Pero mis búsquedas no han arrojado ningún consejo explícito de que esto esté permitido o fomentado.
Por curiosidad, ¿sería válido el mismo consejo para un par de claves sin una frase de contraseña?
ssh
ssh-keys
github
passphrase
DouglasDD
fuente
fuente
Respuestas:
RSA está específicamente diseñado para permitirle compartir esa clave pública, por lo que sí, puede publicarla. Esto es bastante similar a cómo funciona x.509 (y SSL) con certificados RSA.
Antes de publicar el archivo, míralo; 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 tanto si la clave tiene una frase de contraseña como si 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 clave sea suficientemente entrópica y grande. Si es generado por un PRNG roto, puede 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 enumerado hasta que obtenga el correcto.
Sugiero usar una clave de 4096 bits (especificar
-b 4096
), para que sea más difícil de lo normal (el valor predeterminado es 2048) que alguien 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á específicamente diseñado para hacerlo poco práctico.fuente
Ya lo es. :) Simplemente ponga ".keys" al final de la URL de su perfil de Github, así:
https://github.com/tjmcewan.keys
fuente
Si bien, por regla general, no recomiendo poner su propia configuración específica en los repositorios públicos de proyectos (suponiendo que el repositorio sea para todos y que su configuración sea solo para usted , es un poco grosero), las implicaciones de seguridad son mínimas.
El único vector de ataque razonable es usar de alguna manera esa clave pública para identificarlo en algún contexto malicioso. Lo que podría ser está más allá de mí, pero la clave pública identifica de manera única la clave privada, aunque no da ninguna pista sobre su origen.
Hay un vector de ataque de caso de esquina que probablemente no se aplica, pero si recuerdas el fiasco con Debian rompiendo accidentalmente el PRNG de openssl , cualquier clave ssh generada en un sistema afectado es fácilmente predecible y puede identificarse por su clave pública. Por lo tanto, en ese caso, publicar la clave pública podría ocasionarle problemas. O, más apropiadamente, usar esa tecla para cualquier cosa podría meterte en problemas.
fuente
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 útil, por ejemplo, si necesita actualizar / cambiar la clave SSH de un servidor.
fuente