¿Debo crear una nueva clave ssh privada en cada sistema?

10

Necesito conectarme a múltiples servidores desde múltiples dispositivos a través de SSH. Me pregunto si debería crear un nuevo archivo id_dsa en cada dispositivo desde el que me conecto, o si no hay un problema al copiar el mismo archivo id_dsa en cada dispositivo.

Por ejemplo, tengo mi sistema de escritorio primario basado en Ubuntu y un MacBook Pro con ssh. Y tengo un Netbook basado en Windows con Putty instalado. Y tengo un teléfono Android con ConnectBot. Desde cualquiera de estos dispositivos, podría necesitar SSH en docenas de diferentes servidores físicos y virtuales.

Cada servidor necesita mi clave pública instalada. Además, mis cuentas de GitHub y Codaset requieren mi clave pública.

Para simplificar la administración de claves, estoy pensando en usar la misma clave privada en todos estos sistemas. ¿Es esta práctica común, o es mejor tener una clave privada en cada sistema?

Tauren
fuente

Respuestas:

3

Si usa la misma clave pública en cada sistema y la clave privada se ve comprometida, cualquier sistema que use esa clave, salvo otras restricciones, será accesible.

¿Confío en que estás usando claves privadas protegidas con contraseña?

En nuestra práctica de gestión, tenemos "roles" de seguridad baja, media y alta. Cada rol usa una clave diferente. Las claves privadas de alta seguridad nunca deben transmitirse a activos externos, usarse en computadoras portátiles que podrían perderse / ser robadas, etc. Las claves de seguridad media y baja se pueden implementar en una gama más amplia de escenarios.

Sugiero examinar sus patrones de uso y ver qué hace desde entonces en términos de roles de seguridad. ¿Cuál es el daño causado al obtener su clave privada?

¿Ha considerado colocar su clave privada SSH en un dispositivo de hardware desde el cual no puede ser robada, eliminando el posible compromiso de la clave por un problema?

Tanto los módulos de seguridad de hardware como las tarjetas inteligentes se pueden usar para almacenar claves privadas SSH de manera segura, permitiendo que todas las operaciones criptográficas se realicen en el dispositivo, en lugar de en sus sistemas operativos. Sin embargo, no son una panacea, ya que también requieren dispositivos de hardware de respaldo, en caso de una falla de hardware.

jeffatrackaid
fuente
Sí, mis claves están protegidas con contraseña. Gracias por tu respuesta. Me ha ayudado a confirmar mi preocupación de que si usara la misma clave en todos mis dispositivos, podría provocar problemas más grandes en el futuro.
Tauren
2

Absolutamente deberías. Siempre puede agregar todas las claves a su archivo autorizado_keys2. Me gusta la sugerencia de jeffatrackaid. Sin embargo, usaría diferentes claves privadas para cada dispositivo, ¿por qué no? Pierde tu Android. Simple, elimine la clave de la lista de claves autorizadas. Si no lo hace, tendrá que regenerar ese nivel de clave nuevamente.

Dicho esto, depende de cómo perciba el riesgo de estos activos. Obviamente, no desea perder las claves, pero puede exponer algunas a un mayor riesgo, por ejemplo, github frente a la raíz de sus vps.


fuente
FYI, authorized_keys2está obsoleto desde 2001 - OpenSSH ahora usa authorized_keys(aunque todavía lee ambos archivos por compatibilidad)
user1686
Ah ok gracias. Siempre procuro deshabilitar SSHv1 y cifrados de baja resistencia, etc.
2

¿Recuerdas cuando Debian tuvo ese pequeño problema de entropía al generar claves SSH? Fue entonces cuando aprendí bien mi lección.

Tengo mis propias claves privadas para mis cosas, como ingresar a mis servidores personales. Tengo mi clave de "uso múltiple" que me permite acceder a la mayoría de mis cuadros de desarrollo, y luego cortar las claves por cliente que atiendo.

También mantengo una lista muy detallada de qué claves están en qué máquinas, en caso de que tenga que reemplazarlas o eliminarlas rápidamente.

Para todo lo que es serio, solo uso LDAP / PAM, en caso de que tenga que eliminar a alguien más con prisa.

Tim Post
fuente