Cuando creamos instancias Unix/Linux en la nube (independientemente del proveedor que habitualmente usemos), se nos pide usar un conjunto de clave publica/privada para securizar el acceso a las instancias. Sin esta protección adicional y unicamente confiando en un Login/Password, nuestros sistemas son vulnerables a ataques de diccionario o fuerza bruta, que dependiendo de la fortaleza de nuestra contraseña aguantara más o menos.
Normalmente cuando generamos nuestras claves, no solemos preocuparnos demasiado y asumimos que son de por si seguras.
pero la realidad es que dependiendo de las opciones que elijamos al crearla estas serán, más o menos robustas.
La passphrase es importante:
La passphrase es muy importante, porque se usara para cifrar la Private Key, de tal manera que si alguien obtiene esta Private Key, estará protegida. La passphrase debe ser criptograficamente fuerte.
Si queréis podéis encontrar un generador aleatorio aquí.
Eligiendo algoritmo y Key Size:
Pues si, tenemos varias opciones de las cuales las más comunes son:
ssh-keygen -t rsa -b 4096 ssh-keygen -t dsa ssh-keygen -t ecdsa -b 521 ssh-keygen -t ed25519
¿Cual uso yo?
Pues fundamentalmente uso RSA de 4096 y ed25519 dependiendo de lo que soporten los sistemas. Si no os queréis complicar una RSA de 4096 os dará una buena seguridad y excelente portabilidad. Si no os genera desconfianza que este desarrollada por el gobierno, ECDSA es también una excelente opción.
Espero que os haya resultado de interés!!