2. SSH

Actualmente el protocolo SSH viene en dos versiones.
La primera versión utiliza claves RSA privadas para descifrar archivos cifrados con la clave pública correspondiente.
La versión más nueva se compone de una serie de protocolos que incluyen certificación de clave pública mejorada, estándares de cifrado e incluso soporte para certificados de clave pública.

Hay diferentes cifrados que se pueden usar para SSH según las aplicaciones que se usen. Algunos de ellos incluyen:

  • CHACHA20
  • AES-GCM
  • Blowfish-CBC
  • AES128-CTR
  • AES192-CTR
  • AES256-CTR
  • Arcfour
  • Cast128-CBC


Vamos a tratar de ilustrar como funciona SSH.

Es una aplicación que funciona como Cliente-Servidor. Vamos plantear un mecanismo simplificado de como sería el funcionamiento.

Paso 1:

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 configurado en el Servidor. Ver que mencionamos puerto => que estamos hablando de una sesión TCP.

Paso 2:

En esta sesión TCP, coordinan entre Cliente y Servidor sobre un conjunto de protocolos de encriptación disponibles y versiones que dispone cada uno , se alcanza un acuerdo y se inicia la conexión con el protocolo acordado.

Paso 3:

El Servidor comparte una CLAVE PUBLICA (Cifrado Asimétrico) que el cliente va a usar para verificar la autenticidad del Servidor (PKI)  y para cifrar el tráfico.


En este punto vemos que si el cliente comparte algo cifrando con la clave Pública , NADIE podrá saber el contenido, ya que SOLO el servidor tiene la clave privada que permite decifrar el contenido, por lo tanto tenemos un canal seguro desde el cliente al Servidor.

Paso 4:

El cliente envía la clave privada al Servidor, para producir la clave secreta compartida (Cifrado Simétrico usando el mecanismo de Diffie-Hellman ver en otro capítulo) . A diferencia de la percepción general, el cifrado asimétrico no se utiliza para cifrar toda la sesión SSH. En lugar de eso, sólo se utiliza durante el algoritmo de intercambio de claves de cifrado simétrico.

Paso 5:

Como ya disponen de un canal 100% seguro, ya que ambos tiene la clave privada que compartieron por un canal seguro, puede comenzar la sesión SSH.