Qué es y para qué sirve el SSH

Qué es y para qué sirve el SSH

Javier Jiménez

SSH son las siglas de Secure Shell. Es un protocolo que tiene como función ofrecer acceso remoto a un servidor. La principal peculiaridad es que este acceso es seguro, ya que toda la información va cifrada. Esto evita que pueda filtrarse y que un tercero pueda ver esos datos. Vamos a explicar en qué consiste este protocolo, cómo funciona y también hablaremos de cómo podemos utilizarlo en Windows.

En qué consiste y para qué se usa el protocolo SSH

Es uno de los protocolos que tenemos para conectarnos de forma remota a un servidor. Está disponible para Linux y macOS, además de poder utilizar un cliente en Windows. Básicamente consiste en poder gestionar un servidor de forma remota, pero además hacerlo con seguridad.

SSH utiliza un sistema de autenticación, lo que va a aportar esa seguridad que mencionamos. Podremos comunicar dos equipos entre sí, de forma remota, y esa comunicación va a estar cifrada. Por ejemplo se utiliza para entrar en un ordenador de forma remota y utilizar para ello un nombre de usuario y contraseña.

Funciona de forma similar al protocolo Telnet, pero SSH apareció como una solución cifrada, para mantener la seguridad y evitar problemas. Se basa en el cifrado de 128 bits, lo que garantiza una protección fuerte y hace que sea realmente difícil que un intruso pueda descifrar y leer los datos que se envían o reciben. Telnet transfiere los datos en texto plano y eso es un problema.

Conectar remotamente a un servidor

El uso más importantes del protocolo SSH es el de conectarnos de forma remota a un servidor. Esto puede ser de forma gráfica, como sería un programa en Windows, pero también a través de la terminal, como por ejemplo en Linux.

Siempre vamos a tener que utilizar el nombre de usuario y contraseña correspondiente, ya que este protocolo requiere autenticación. Esto es lo que nos permitirá acceder de forma remota a un servidor y poder controlarlo o llevar a cabo diferentes acciones sin necesidad de estar físicamente delante.

Servidor SSH

Actualizar un dispositivo o realizar cambios

De forma remota y a través de SSH vamos a poder actualizar un dispositivo. Por ejemplo podemos acceder a un NAS para actualizar a una nueva versión del firmware y enviar los archivos que sean necesarios para ello.

También podremos realizar cambios en la configuración de forma remota. Por ejemplo instalar una aplicación o incluso reiniciar el dispositivo si hubiera algún error. Todo ello, una vez más, sin necesidad de estar físicamente delante de ese dispositivo.

Modificar o copiar archivos

También podremos enviar archivos de un equipo a otro a través del protocolo SSH. Esto significa que podremos estar trabajando desde un ordenador, por ejemplo, y posteriormente subir esos archivos a un servidor mediante este protocolo.

De la misma manera, podemos acceder a un servidor y modificar los archivos que ya hay. Esto evita que tengamos que descargar los archivos, modificarlos y posteriormente volverlos a enviar. Lo que hacemos es modificarlos directamente en el servidor.

Cómo funciona SSH

Pero, ¿cómo funciona exactamente SSH? Hay que mencionar que necesita tres puntos indispensables: usuario, puerto y servidor. Esto es lo que va a permitir establecer una conexión entre servidores y poder hacer todo lo que hemos mencionado.

El puerto SSH estándar asignado es el TCP 22. No obstante, ese puerto siempre puede ser cambiado si queremos. El cliente SSH va a contactar con el servidor para iniciar la conexión. Ese servidor está escuchando a través del puerto 22 o el que se le haya asignado. Posteriormente el servidor va a enviar la clave pública y comienzan a organizar los parámetros y abrir un canal seguro. El cliente inicia sesión para conectarse a ese servidor.

El servidor podría ser por ejemplo un dominio web o una dirección IP. El usuario sería el nombre, como puede ser root o administrador.

En cuanto al cifrado SSH, hay de diferentes tipos. Por un lado está el cifrado simétrico, que es el más popular, en el que utiliza una clave secreta que va a ser usada tanto al cifrar como al descifrar la conexión. Esa clave es única.

Por otra parte está el cifrado asimétrico, que en esta ocasión utiliza dos claves diferentes. Una clave es pública y la otra privada y la información solo se puede obtener si se conoce esta última clave.

Una última opción de cifrado es lo que se conoce como hash o hashing. Esto se consigue al convertir esa información en una serie de datos que son únicos.

Cómo usar SSH en Windows

Hay que tener en cuenta que los sistemas operativos de Linux y macOS ya traen incorporado SSH. Podemos utilizar la línea de comandos para acceder a un servidor desde Ubuntu, por ejemplo. Pero también vamos a poder usarlo en Windows. Podremos instalar programas y aprovechar el funcionamiento de este protocolo, aunque habrá que habilitarlo en el sistema.

Para ello tendremos que ir a Inicio, escribimos Servicios y lo abrimos. Allí nos debería de aparecer OpenSSH Server. En el caso de que no sea así, tendremos que habilitarlo. Tendremos que ir a Configuración, entrar en Aplicaciones, Características opcionales y Agregar una característica. Tendremos que pinchar y darle a Instalar.

Agregar el servidor OpenSSH en Windows

Ya sea que lo hayamos tenido que instalar o ya lo tengamos, tendremos que ir a Servicios y pinchar en OpenSSH Server y hace clic con el segundo botón. Tendremos que pinchar en Iniciar, aunque también podemos configurarlo para que se inicie siempre con Windows.

Iniciar SSH en Windows

Una vez tengamos esto, vamos a PowerShell y, con permisos de administrador, tenemos habilitar el puerto de escucha y para ello hay que ejecutar el siguiente código.

New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Service sshd -Enabled True -Direction Inbound -Protocol TCP -Action Allow -Profile Domain

Ya podremos acceder a este ordenador mediante el protocolo SSH. Lo siguiente será utilizar un programa para tal efecto. El más utilizado en Windows es Putty, que podremos descargar e instalar de forma gratuita.

En definitiva, el protocolo SSH es muy útil para poder acceder de forma remota a un equipo y además de forma segura. Es una alternativa a Telnet, mejorando notablemente la seguridad, y que podemos utilizar en nuestro sistema Windows. Ofrece diferentes usos, como es el poder enviar archivos, modificarlos directamente en el servidor, actualizar un equipo, etc.

¡Sé el primero en comentar!