Iniciar sesión

Panel de Control Webmail Editor web Tienda online File Manager WordPress

¿Qué es SSH?

Los beneficios de Secure Shell y su importancia explicados de manera sencilla.

vector

En breve

Glossary

Secure Shell (SSH) es una forma segura de conectarse a un ordenador o servidor remoto a través de Internet. Cifra todos los datos que se envían entre los dispositivos, dificultando así que alguien intercepte o robe información sensible. SSH lo utilizan administradores de sistemas y desarrolladores para gestionar servidores y realizar tareas remotas.

Retrocedamos un poco y veamos la historia del protocolo SSH. Antes de SSH, no había una forma segura de conectarse a ordenadores remotos. En aquella época, el poder conectarse a dos ordenadores que no estaban cerca el uno del otro sería un invento genial. El único problema era la falta de seguridad entre los dos ordenadores. 

Imagínate que tienes un documento importante que quieres compartir con un compañero de trabajo. Al compartir el documento con tu compañero de trabajo, al ser un texto plano, cualquiera puede acceder a él y leerlo. O dicho en en términos técnicos, cualquier persona que esté en línea puede leer e interceptar los datos que estás enviando a tu compañero de trabajo. 

Telnet — El predecesor de SSH

Telnet es un conjunto de protocolos y reglas que nos permiten acceder a otro ordenador de forma remota, tomar el control de dicho ordenador y modificarlo sin estar cerca de él. El problema de Telnet son las amenazas a la seguridad. En 1995, el fundador de SSH decidió mejorar el software de Telnet y sustituirlo por una forma muy segura de acceder a los ordenadores de forma remota, para garantizar, de esta manera, que personas ajenas no pudieran interceptar los datos. Este nuevo software se llamó SSH. El protocolo SSH permite a los usuarios tomar el control de sus servidores remotos sin poner en peligro su seguridad.

La seguridad de SSH

Volvamos con nuestra metáfora para explicar el proceso del protocolo SHH:

Si querías enviar un documento a tu compañero de trabajo, debías poner el documento en una caja y cerrarla. 

Una vez entregada la caja a tu compañero de trabajo, digamos que a través de un servicio postal, tu compañero la aseguraría poniendo su propio candado en la caja y te la devolvería. 

Una vez que tuvieras la caja de nuevo en tu poder, quitarías tu candado y se la devolverías a tu compañero de trabajo solo con su candado intacto. 

De este modo, tu compañero usaría su llave para abrir la caja y leería el contenido del documento sin que nadie lo pudiera interceptar. 

Este proceso parece muy complicado, pero afortunadamente, el proceso técnico real es muy sencillo, ya que todo lo que tienes que hacer es autenticar al usuario remoto, lo que solo te lleva un segundo.

¿Cómo funciona y qué hace SSH?

SSH utiliza diferentes conexiones, como una conexión TCP (Protocolo de Control de Transmisión) cuando se conecta a los servidores (o a los ordenadores). Una conexión TCP se utiliza como un protocolo de transporte de red fiable que SSH puede utilizar. Una vez establecida la conexión, SSH envía los datos como paquetes cargados con dicha información. Toda la información en el paquete de datos está encriptada, también el tamaño del paquete, ya que necesitamos saber la cantidad de datos entrantes. El código de autenticación del mensaje dentro del paquete de datos es un código que deciden el servidor y el cliente. 

En el extremo receptor, el paquete es descifrado por el servidor.

De este modo, se puede acceder a un ordenador a través de una red no segura como Internet, porque SSH funciona cifrando los paquetes de datos y no la conexión entre los dos ordenadores.

Conexión SSH

La conexión SSH la inicia el cliente que se conecta al servidor SSH. Una vez que inicies y conectes tu ordenador al servidor, éste abrirá un canal. A través de este canal, puedes comunicarte y controlar los datos. Como cliente, puedes abrir diferentes canales o conexiones y así habilitar múltiples conexiones multiplex.

Multiplexación de conexiones SSH

Supongamos que quieres trabajar con múltiples conexiones SSH a través de una conexión TCP. La multiplexación de las conexiones SSH te permite hacer esto, y, usada correctamente, permite acelerar las operaciones que realiza el protocolo SSH. Además, puede mejorar aspectos del mismo, como la ejecución de comandos más rápida. 

Vamos a dar un paseo por el proceso de creación de una conexión SSH. 

  • Una vez te has conectado al servidor, éste te manda un mensaje del estilo de “soporto esta versión de SSH” – refiriéndose a tu ordenador y al uso del protocolo SSH.
  • Intercambias información con el servidor sobre tu compatibilidad y la del servidor. 
  • Compartes información sobre el método que ambos utilizaréis para enviar datos y mensajes encriptados. Básicamente, estás negociando los parámetros con el servidor. Una vez que todo esto se ha establecido, te autentificas. 

Introduces tu contraseña y el servidor te reconoce. Una vez completada la autenticación, el servidor creará un canal, y tendrás una conexión Secure Shell.

SSH Key o Clave SSH

SSH utiliza tres técnicas, y te lo explicamos a continuación, para que estés más familiarizado con el funcionamiento de SSH.

Cifrado simétrico

El cifrado simétrico utiliza una clave tanto para el cifrado como para el descifrado. Además, cualquiera que tenga acceso a la clave también tiene acceso al mensaje que se está transfiriendo. 

Un algoritmo de intercambio de claves lleva a cabo el proceso de cifrado simétrico. Si otra máquina tiene acceso a la clave, seguirá sin poder descifrar el mensaje, ya que el algoritmo de intercambio de claves es desconocido. Esto se debe a que los dos ordenadores (el host y el cliente) manipulan los datos compartidos y calculan la clave secreta.

Cifrado asimétrico

El cifrado asimétrico utiliza dos claves SSH. La clave privada y la pública. La fortaleza de la clave privada reside en la privacidad de la clave y en el hecho de que nunca debe ser revelada. Esto se debe a que solo la clave privada puede descifrar los mensajes que fueron cifrados con la clave pública. Estas dos claves funcionan conjuntamente. Una vez se ha establecido la conexión, el servidor utilizará la clave pública para confirmar la autenticación. Si el cliente puede descifrar el mensaje, significa que tiene la clave privada. Así, la sesión SSH puede comenzar.

Hashing

El algoritmo de hashing es algo así como un código de barras. Los últimos números de un código de barras están determinados por todos los demás números que lo componen. La misma lógica se aplica al hashing. Esto significa que si cambias uno de los números del código de barras, los últimos números del código de barras también cambiarán. El hashing funciona así para todo el archivo que quieras transferir. El algoritmo de hashing te dará un número largo (hexadecimal) que cumple con todo lo que hay en el archivo. Es una forma de verificar que el archivo está intacto y que incluye todo lo que dice que contiene. 

La diferencia entre el hashing y las otras dos opciones de cifrado es que no puedes revertir el hashing, ya que la idea es que no pueda ser descifrado. 

SSH utiliza el hash para verificar la autenticidad de los mensajes, asegurando que los mensajes no puedan ser interceptados y manipulados. 

Si tienes un documento que quieres enviar, y tiene tu nombre, el hash va a través del canal junto con el archivo para verificar que es el documento real.

SSH en one.com

SSH implementa un sólido algoritmo de encriptación para garantizar la seguridad de la comunicación entre las partes.  

Si tienes un paquete profesional o un paquete mayor con nosotros, puedes activar SSH fácilmente desde tu panel de control de One.com. A diferencia de los usuarios de Mac y Linux, que solo pueden utilizar sus terminales, los usuarios de Windows tienen que instalar un cliente SSH. El programa gratuito PuTTY es considerado como la mejor opción.