Actualmente trabajo de forma remota para varias organizaciones que necesitan que acceda a sus servidores regularmente para mantenimiento y actualizaciones. ¿Es seguro para mí agregar mi clave SSH pública RSA al .ssh/authorized_keys
archivo para permitirme iniciar sesión mucho más rápido / sin tener que buscar contraseñas? Opero bajo la presunción de que sería imposible generar la clave privada a partir de la pública, pero ¿estoy en lo cierto?
Dando un paso más allá, ¿habría algún riesgo de seguridad al publicar el contenido de mi clave pública RSA en Internet? Sé que si se obtiene mi clave privada, tengo muchos problemas, pero aparte de eso, ¿hay alguna amenaza de seguridad real posible?
ssh
security
key-authentication
Naftuli Kay
fuente
fuente
Respuestas:
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.
fuente
La respuesta de Gilles es generalmente buena, excepto
Sus claves ssh
~/.ssh
también pueden ser leídas por cualquier software que se ejecute bajo su propia cuenta. Cuál es probablemente la mayor parte del software que ejecuta. Por lo tanto, debe confiar en ese software y en quienes lo escribieron.fuente