¿Por qué usar claves SSH dedicadas para diferentes hosts (como GitHub)?

5

Recientemente descubrí github-keygen , una herramienta que te ayuda a configurar SSH para usar con GitHub. Una de las cosas que hace la herramienta es crear una nueva clave privada SSH dedicada a los intercambios de GitHub; el manual afirma que "esto es mucho mejor que usar la misma clave SSH para conectarse a varios hosts". No entiendo por qué se supone que usar una clave dedicada para GitHub es mejor. El manual justifica esta práctica de la siguiente manera:

  

(Si pierde [sic] esa clave, simplemente revóquela en la configuración de SSH de su cuenta de GitHub , elimine el archivo de claves, y vuelva a ejecutar github-keygen ).

Pero seguramente esto es lo mismo que haría si perdiera una clave SSH no dedicada: la eliminaría de su lista de claves autorizadas en GitHub (y del archivo authorized_keys de todos los demás controles remotos máquina que utiliza) y luego generar una nueva. ¿Qué le permite usar claves SSH dedicadas para diferentes hosts remotos (como GitHub)?

    
pregunta Psychonaut 22.06.2016 - 08:28
fuente

2 respuestas

2
  

¿Por qué usar claves SSH dedicadas para diferentes hosts (como GitHub)?

Respuesta: Revocación.

Cuando pierdes una clave SSH, debes revocarla en todo lo que tenía acceso. Si usa la misma clave en GitHub que usa para SSH en su alojamiento web personal, debe eliminar la clave de ambos lugares. Una clave por servicio significa que ninguna de sus otras claves se ve afectada por la pérdida.

    
respondido por el h4ckNinja 24.06.2016 - 03:59
fuente
1

El consejo de GitHub posiblemente esté sobre el riesgo. El uso de la misma tecla ssh en varios sistemas no tiene nada que ver con los riesgos asociados con tener la misma contraseña en varios sistemas. Sin embargo, hay otros factores a considerar que pueden resultar en que alguien tenga más de una clave ssh.

La razón más obvia para tener más de una clave ssh se relaciona con su concepto de identidad. Si bien la mayoría de nosotros considera que solo tenemos una identidad, la realidad es que probablemente tengamos al menos dos: una identidad personal / privada y una identidad de trabajo. Para la mayoría de nosotros, nuestra identidad personal nunca cambia, pero nuestra identidad profesional / laboral puede cambiar muchas veces durante una carrera. Por lo tanto, a menudo tiene sentido mantener estas dos identidades separadas. En algunas organizaciones, incluso se le otorga una clave ssh 'de trabajo' y cuando abandona la organización, esa clave se revoca. Si usa esa clave para fines personales, puede descubrir que ha perdido el acceso a algunos recursos o que tiene que pasar por un proceso de verificación para recuperar el acceso, etc.

Otra razón para tener más de una clave ssh es limitar el valor de su clave ssh. Esto es similar a tener dos llaveros separados: uno que cuelgas del gancho en el pasillo y el otro que guardas en una caja fuerte debajo de tu piso. El primero contiene la clave para los recursos de bajo riesgo y de uso frecuente. El segundo, de alto riesgo o que rara vez requiere recursos. Si roban su casa, es probable que obtengan la primera, pero no la segunda, minimizando el daño.

Este último elemento se relaciona con la administración de claves y, según mi experiencia, la debilidad / falla más frecuente que veo con respecto a las claves ssh y una de las razones por las que creo que no hemos visto un despliegue más amplio de claves ssh. Con frecuencia me encuentro con situaciones en las que las personas usan una clave ssh, pero tienen diferentes prácticas de administración de claves deficientes. La realidad es que usar claves ssh con malas prácticas de administración de claves es a menudo menos seguro que confiar solo en contraseñas. Muchos usuarios no entienden lo importante que es proteger su clave privada y cometerán errores, como registrarlos en los sistemas de control de versiones, almacenarlos en copias de seguridad no seguras, copiarlos en varios sistemas de almacenamiento en la nube, etc. ssh claves sin una frase de contraseña, ya que es más conveniente. Esta es una idea muy variada. Si desea conveniencia, use un agente ssh configurado apropiadamente, pero asegúrese de tener una buena frase de contraseña (tenga en cuenta el uso de la frase en lugar de la palabra).

Debido a este problema de administración de claves, no recomendaría el uso de claves diferentes para cada sitio. Además de no mejorar la seguridad, se suma a la carga de administración de claves: cuantas más claves tenga para administrar, más probabilidades habrá de que se cometan errores. La mayoría de las personas probablemente querrán más de una clave, pero sería inusual que necesitaran más de 5 y en la mayoría de los casos, 2 o posiblemente 3 serían suficientes.

    
respondido por el Tim X 24.06.2016 - 03:50
fuente

Lea otras preguntas en las etiquetas