Las claves SSH sirven para acceder a servidores dedicados o VPS de forma segura a través de la línea de comandos. Es por tanto una herramienta interesante para crear un túnel seguro sobre la red y poder transferir entre el servidor y el cliente de una manera segura y cifrada. Por ello en este artículo vamos a explicar cómo crear una clave SSH fácilmente en el sistema operativo Windows 10.
Qué es una clave SSH
Una clave SSH (tiene parte pública y privada) sirve para conectar un cliente a un servidor. Es interesante ya que evita tener que introducir una contraseña cada vez que queremos acceder a un determinado servidor. El proceso, una vez configurado, es automático. Un punto importante es que no tenemos que enviar la contraseña por la red. La parte del servidor se encarga de verificar que el cliente es legítimo y permite la conexión.
Este tipo de claves también disminuye el riesgo de ataques por fuerza bruta y así evitar que un posible atacante adivine las credenciales correctamente. La seguridad es un factor muy importante y hay que tenerlo siempre presente. Los servidores, así como cualquier equipo que utilicemos o servicio en la red, pueden sufrir ataques muy diversos que comprometan la seguridad. Precisamente la fuerza bruta es una de las amenazas más presentes para robar contraseñas. Pueden usar programas informáticos para probar una tras otra diferentes claves hasta dar con la que es.
Hay diferentes clientes que podemos utilizar para los diferentes sistemas operativos. Una selección interesante con herramientas diferentes. Además, se trata del sistema operativo más utilizado en equipos de escritorio y puede venir muy bien para muchos usuarios.
Información previa
Este tipo de claves, se generan en pares. Estos se componen de dos partes, la clave privada y la pública. En el caso de las llave privada, solo será conocida por el usuario y esta debe guardarse conciencia y en ningún caso es transmitida en la red. Todo lo contrario es la clave pública, la cual se puede compartir de forma libre con cualquier servidor SSH que nos queramos conectar.
Si uno de los servidores tiene la llave pública y detecta un intento de conexión, la usará para crear un camino y enviar un mensaje. Este mensaje estará encriptado y debe ser correctamente respondido previamente a que el servidor nos otorgue el acceso. Este mensaje, solo puede ser descifrado por la clave privada, mientras que la pública, se encarga de encriptarlo, en todo caso no puede ser usada para descifrarlo. Como hemos mencionado que solo el usuario cuenta con la clave privada, solo es podrá ver el mensaje y enviar la respuesta correspondiente.
Este intercambio se ejecuta como una tarea invisible al usuario. Cuando la llave que se encuentra encriptada es solicitada, otra contraseña debe ser introducida para proceder al descifrado, en este caso el cliente SSH será capaz de responder de la forma adecuada al servidor.
Tipos de autentificación
Este tipo de claves las podemos englobar en dos grupos, dependiendo de las propiedades matemáticas que se usan para generarse. Son las siguientes:
- DSA y RSA: Estas son dependientes de la dificultad práctica de realizar una factorización de un producto, el cual está compuesto por números primos largos.
- ECDSA y Ed25519: En este caso dependen de una curva elíptica de logaritmo discreto.
En el caso de las DSA, fueron declaradas obsoletas por OpenSSH 7.0, ya que se encontraron vulnerabilidades, por lo cual las más utilizadas con las RSA, las cuales de por sí, nos facilitan una mayor portabilidad. En cambio, las más seguras son las Ed25519, las cuales siempre solicitan las versiones más recientes de los servidores y los equipos cliente.
Cómo de seguras son las claves SSH
Las claves SSH, son una forma muy segura de autenticar y establecer una encriptación de la conexión entre dos puntos. Esto se hace mediante el uso de algoritmos, que se encargan de crear estas claves que permiten realizar la autenticación de las conexiones. En general, estamos ante un método muy seguro, pero esto depende también de varios factores. Estos son la longitud y complejidad de la clave, que esta se utilice y gestione de la forma adecuada. Si todo esto se hace de la forma correcta, no vamos a tener ningún problema.
En estos casos, la longitud es uno de los factores más importantes, ya que afecta directamente a la seguridad. Una clave muy larga, es mucho más segura que una corta. Por lo cual, será mucho más complicado llegar a descifrar mediante ataques de fuerza bruta. Para ello, la gran mayoría de claves SSH, utilizan longitudes de 2048 bits o más, lo que las hace muy complicadas de descifrar. Por otro lado, está el uso que le damos a la clave. Siempre es importante mantener esto en privado y en un lugar seguro, para que no sea compartido con terceros usuarios que no están autorizados. Esto incluye disponer de las medidas de seguridad adecuadas, como la autenticación en dos factores para estar más protegidos.
Y por último, la gestión. Es importante que las claves se encuentren correctamente gestionadas para mantener su seguridad a largo plazo. Para ello, lo más adecuado es rotar las claves de forma periódica, y proceder a revocar cualquier clave que pueda estar comprometida o sea sospechosa de haber sido comprometida. Por lo cual, como puedes ver, estamos ante uno de los sistemas más seguros que nos podemos encontrar. También resulta eficaz y rápido, por lo cual es uno de los sistemas más recomendados que nos podemos encontrar para garantizar la seguridad de las conexiones en Internet.
Cómo generar claves SSH
Generar una clave SSH en Windows 10 es muy sencillo y rápido. Simplemente hay que seguir una serie de pasos que vamos a ir mencionando en este artículo. Lo primero que tenemos que hacer es asegurarnos de tener el cliente OpenSSH instalado en nuestro sistema. Lo normal es que así sea, pero podemos comprobarlo fácilmente.
Para saber si tenemos el Cliente OpenSSH instalado en Windows 10 tenemos que ir a Inicio, allí entramos en Configuración, vamos a Aplicaciones, Aplicaciones y características y una vez estemos aquí dentro hay que acceder a Características opcionales. Allí debería de aparecer OpenSSH, tal y como podemos ver en la imagen.
En caso de que veamos que no esté disponible OpenSSH tendremos que agregarlo. Para ello hay que hacer clic en Agregar una característica, opción que veremos arriba de la ventana a la que hemos accedido. Posteriormente solo tenemos que buscar Cliente OpenSSH en la lista que aparece y le damos a instalar. Terminamos el proceso y reiniciamos el equipo para asegurarnos de que se ha instalado correctamente. A partir de ese momento ya lo tendremos correctamente instalado y disponible en nuestro sistema Windows 10. Podemos volver a los pasos que mencionamos anteriormente y veremos que aparece Cliente OpenSSH en nuestro equipo.
Una vez nos aseguremos de que tenemos instalado OpenSSH, ya sea porque lo teníamos previamente o porque lo hemos agregado como hemos mencionado, podemos pasar al siguiente paso. Ahora tenemos que abrir el Símbolo del sistema con permisos de administrador. Para ello vamos nuevamente a Inicio y escribimos Símbolo del sistema. Tenemos que ejecutar el comando ssh-keygen.
Cuando ejecutemos este comando lo primero que nos pedirá es que elijamos una ubicación para alojarlo. Podemos elegir alguna carpeta de nuestro equipo o simplemente la que viene por defecto. Si optamos por esta opción solo tenemos que pulsar en Enter y pasamos al siguiente punto.
De forma predeterminada la ubicación será C:usersnombre.sshid_rsa, salvo que hayamos puesto otra diferente.
En este siguiente paso nos solicitará que introduzcamos una contraseña. Veremos que al empezar a escribir no aparece nada y es como si no estuviéramos introduciendo ningún valor. Sin embargo la contraseña se está generando. Cuando la pongamos le damos a Enter y nos volverá a pedir una segunda vez esa contraseña para generarse.
Una vez pulsemos Enter otra vez nos aparecerá ya la clave que hemos generado. Veremos que el algoritmo predeterminado es RSA 2048. Allí nos aparecerá la clave privada y también la clave pública.
Si entramos en la carpeta en la que se ha generado la clave SSH veremos que está allí el archivo.
En definitiva, siguiendo estos pasos que hemos mencionado podemos crear una clave SSH en Windows 10. Ya sabemos que es el sistema operativo más utilizado hoy en día en equipos de escritorio.
Usar contraseñas seguras es algo muy importante
Hemos explicado cómo generar claves SSH, pero queremos recordar también la importancia de tener contraseñas que sean seguras. Deben tener diferentes elementos que nos protejan en la red, que eviten la entrada de intrusos en nuestros equipos que podrían afectar a la seguridad. Es algo que debemos tener en cuenta en cualquier sistema operativo o dispositivo que estemos utilizando.
Un primer punto que debemos mencionar es la importancia de que tenga letras mayúsculas y minúsculas, así como números y otros símbolos especiales. No es una buena clave aquella que solo cuenta con letras o solo números. Es mejor mezclar todo lo máximo posible, de esta forma reduciremos al máximo el riesgo de los ataques de fuerza bruta.
También hay que indicar que la contraseña tiene que ser aleatoria y única. No debemos estar utilizándola en otros lugares. De lo contrario podríamos sufrir lo que se conoce como efecto dominó. Esto ocurriría si por ejemplo tenemos una contraseña en una red social y también en el correo electrónico y en el primer caso hay una filtración que permitiría acceder al e-mail con la misma clave.
Para ayudarnos en la creación de claves fuertes y complejas una buena idea es utilizar gestores de contraseñas. Nos permiten administrarlas, pero también generar una que cumpla con todos los requisitos que hemos mencionado. Esto lo podemos aplicar a cualquier servicio o plataforma que utilicemos y siempre tenerlos correctamente asegurados. Estamos ante una barrera muy importante y debemos cuidarla al máximo para reducir el impacto que puedan tener los intrusos.