Sí, es imposible recuperar la clave privada de la clave pública. Si fuera posible, RSA se rompería fundamentalmente, y esto sería una gran noticia (romper RSA no solo rompería mucha seguridad en la comunicación de Internet, sino que también permitiría todo tipo de fraude bancario, entre otros).
Iniciar sesión con una clave pública en lugar de una contraseña, de hecho, tiende a aumentar la seguridad. Si su contraseña no es lo suficientemente segura, puede ser forzada por un atacante con suficiente ancho de banda. Si el atacante no tiene una copia de su archivo de clave privada, la clave RSA no puede ser forzada (una clave de 1024 bits es equivalente a algo así como una contraseña de 160 caracteres hecha de letras y dígitos al azar). . Alguien que vigila por encima de su hombro podría ver su contraseña y su frase clave, pero con una clave también necesitaría obtener la clave.
Las claves privadas no siempre son más seguras que las contraseñas. Si el atacante obtiene una copia de sus archivos de clave privada (por ejemplo, robando su computadora portátil o su medio de copia de seguridad), puede intentar forzar la contraseña con fuerza bruta, y puede hacerlo a alta velocidad ya que no tiene forma de limitar el tasa (a diferencia de las suposiciones de contraseña que deben realizarse en línea). Si su frase de contraseña es lo suficientemente buena y nota el robo de inmediato, aún tendrá tiempo para revocar la clave.
Una clave pública introduce un elemento de exposición a la privacidad: si alguien sabe que ha utilizado la misma clave pública para iniciar sesión en A y para iniciar sesión en B, sabe que la misma persona inició sesión en A y B. El simple hecho de poseer la clave pública hace que usted sospecha que también tiene la clave privada, por lo que pierde algo de anonimato. Pero eso generalmente es menor, especialmente si solo está almacenando la clave ~/.ssh
donde solo los administradores del sistema (que también saben desde qué dirección IP inició sesión) pueden verla.
Dejando a un lado estas consideraciones de seguridad, una clave privada tiene muchas ventajas prácticas. No necesita escribir su contraseña con tanta frecuencia, y en particular puede ejecutar scripts automáticos que no le solicitan una vez que haya ingresado su clave en ssh-agent o similares. No es necesario que escriba su contraseña con tanta frecuencia, por lo que puede permitirse el lujo de hacerla de mayor entropía (más larga, más difícil de escribir). No es necesario que escriba su contraseña con tanta frecuencia, por lo que existe menos riesgo de que sea observada por un observador humano o una cámara.