Hay esencialmente solo dos versiones reales del protocolo SSH, SSH-1 y SSH-2.
SSH-1
SSHv1 tuvo varias iteraciones. Cada iteración solucionó ciertos problemas de seguridad, pero el protocolo en sí es vulnerable a varios ataques. Utiliza RSA para cifrar 32 bytes de clave de sesión. Utiliza tanto la clave del servidor como la clave del servidor; como en este RSA encripta la clave de sesión dos veces. Sé que esto suena raro, pero esto es lo que sucede. Luego la clave de sesión se comparte con el servidor.
Este protocolo tiene vulnerabilidades conocidas inherentes. Se sabe que SSHv1.5 es vulnerable a inyectar datos en paquetes cifrados [1] . Esto se debe a una mala comprobación de la integridad utilizando CRC32. SSHv1 también es propenso a los ataques Man in the Middle (MitM). Aquí hay un documento sobre el tema .
SSH-2
SSHv2 es un protocolo completamente diferente. Utiliza un intercambio efímero Diffie-Hellman con controles de integridad adecuados de todo el intercambio. El paquete completo está encriptado, incluida la información del encabezado SSH. Las claves de sesión se generan a partir del hashing del identificador de sesión, el secreto compartido y el hash del intercambio con una letra ASCII. Hay una letra diferente para cada clave de sesión necesaria clave de sesión o vector de inicialización necesario.
Las vulnerabilidades en SSHv2 solo han sido teóricas. Hasta ahora, se sabe que el protocolo es seguro cuando se implementa correctamente.
SSH-1.99
Esto no es realmente una versión del protocolo. El primer dato intercambiado por el cliente y el servidor es su versión de protocolo en lo que se llama una cadena de protocolo. Esta es la única compatibilidad que comparten los dos protocolos. Ejemplos de cadenas de versión
SSH-1.99-OpenSSH_2.5.2p2
SSH-2-OpenSSH_2.9p1
SSH-1.99 solo es enviado por un servidor y es así como el servidor le dice al cliente que soporta tanto SSH-1 como SSH-2.
Siempre debes usar SSH-2. Se sabe que SSH-1 es inseguro. El 99% de los servidores son compatibles con SSH-2, y no se conocen vulnerabilidades en su contra.