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.
La clave SSH tiene su utilidad y, por ello, puede resultar interesante llegar a crear una para tu PC con Windows. Pero, antes de conocer en profundidad como se pueden generar, hay que saber qué es exactamente. Después de esto, será el momento de saber cómo se pueden crear de la manera más sencilla y rápida en este sistema operativo. Todo esto es lo que te explicaremos a continuación en RedesZone. Así podrás seguir paso a paso con nosotros el proceso.
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.
Ventajas e inconvenientes de las claves SSH
Pese a tener grandes ventajas, las cuales pueden intuir, y que veremos ahora, también cuenta con una serie de inconvenientes que hay que tener en cuenta y no pasar por alto.
Ventajas:
- Mayor seguridad: las claves SSH son mucho más seguras que cualquier otro tipo de ellas, siendo muy complicado para un intruso adivinarlas o descrifrarlas, gracias a ese cifrado que poseen.
- Autenticación sin contraseña: Una vez que se configura una clave SSH en un servidor remoto, puedes acceder a él sin necesidad de ingresar una contraseña cada vez que necesites entrar.
- Flexibilidad y automatización: Debido a que no es necesario escribir la contraseña en cada uso, se pueden generar scripts, tareas o copias de seguridad de una forma mucho más simple y automática. Así mismo, puedes tener múltiples claves SSH para diferentes servidores, lo que permitiría administrar todo de una forma mucho más organizada y segura.
- Resistente a ataques de fuerza bruta: Al no depender de contraseñas que podrían adivinarse y que creamos nosotros de forma voluntaria, las claves SSH eliminan la posibilidad de ataques de fuerza bruta tradicionales o por intuición del atacante.
- Control de acceso por claves: Puedes configurar claves diferentes para distintos usuarios, así como eliminarlas en cualquier momento, llevando un control de acceso a nuestro gusto.
Inconvenientes:
- Complejidad inicial: A diferencia de una simple contraseña, este tipo de claves SSH tienen una complejidad mayor, ya la primera vez puede ser bastante más difícil de descubrir cómo funciona.
- Riesgo de pérdida o robo: Pese a ser unas contraseñas muy seguras, si por un descuido, alguien las conoce, podrá tener acceso a todos nuestros servidores y datos sin necesidad de nada más, por lo que, por un lado tenemos máxima seguridad, pero por otro un problema en la misma debido a que se podrían filtrar todos nuestros datos, o ser robados por personas que no deseamos que los tengan.
- Problemas de gestión de claves: Con el paso del tiempo, y el aumento del número de sistemas que necesitan acceder, puede resultar complicado administrar todas las clave diferentes, y hacerlo, sobre todo, de forma segura y sin fallos.
- Seguridad comprometida si se filtra la clave privada: La clave privada es la más importante de todas, una filtración o robo sería muy peligroso, y es por ello que hay que protegerla con otra clave adicional.
- Dificultad en el backup: Las claves privadas deben ser almacenadas de forma segura. Sin un sistema adecuado, restaurarlas en caso de pérdida puede ser complicado, por lo que más vale prevenir que enfrentarse posteriormente a ello.
Conociendo esto, ya sabes si, para tu uso, este sistema es algo bueno, o no crees que sea lo mejor para ti.
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.
Para qué se usa
Una vez que se tiene en cuenta qué es exactamente una clave SSH, una credencial de acceso para el protocolo de red SSH, toca ver cuál es la utilización habitual de esta clave en particular. Hay que tener en cuenta, de primeras, que este protocolo de red segura cuenta con autenticación y cifrado. Esto lleva a que se use para la comunicación remota entre diferentes máquinas y una red abierta que no sea segura.
Por otro lado, SSH se usa para la transferencia de manera remota de archivos, así como la gestión de redes y el acceso de forma remota a los sistemas operativos. Por esto mismo resulta interesante llegar a generar una clave SSH en Windows 10. Además de esto, el acrónimo SSH lo cierto es que también se utiliza con la finalidad de describir un conjunto de herramientas que se usan para poder interactuar con el protocolo SSH.
Complemento a claves SSH
Pese a que las claves SSH nos proporcionan una seguridad extra, hay otras formas de conseguir esto, entre las que se encuentra la autenticación de dos factores (2FA). Muchas plataformas permiten agregar un segundo factor de autenticación, como Google Authenticator o una clave de seguridad física para mejorar la seguridad junto con las claves SSH.
Esto no nos costará nada, ni a nivel económico ni de tiempo, pues se configura en segundos, y pese a que recibamos un ataque y logren adivinar la clave, estaremos protegidos a través de nuestro teléfono o correo, gracias a esa doble seguridad.
Cómo generar claves SSH
Generar una clave SSH en Windows 10 es muy sencillo y rápido. Especialmente cuando se conoce más a fondo qué es y para que se puede usar, además de la existencia de las claves privadas y públicas SSH.
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. Este paso es primordial, de lo contrario, no se podrá continuar con el proceso. 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.
Si tenéis cualquier duda, podéis dejarnos un comentario e intentaremos ayudaros, aunque esperemos que salgáis sabiendo algo más sobre este tipo de claves y lo importante que son para mejorar nuestra seguridad en la red.