
Para el establecimiento de la conexión es necesario que el servidor esté escuchando peticiones de conexión en el puerto asignado al servicio SSH, que es el 22. El cliente se conecta a dicho puerto mediante el protocolo TCP.
- El primer paso es negociar la versión del protocolo SSH a utilizar. Tanto el cliente como el servidor envían una línea que contiene el texto “SSH-x.y-implementación”, donde x.y es el número de versión del protocolo (por ejemplo, 2.0) e implementación es una cadena identificativa del software del cliente o servidor. Si los números de versión no concuerdan, el servidor decide si puede continuar o no: si no puede, simplemente cierra la conexión. Destacar que todo este intercambio de mensajes se lleva a cabo sin cifrar.
- A continuación, comienza la fase de negociación entre el cliente y el servidor. Para ello el servidor envía al cliente su clave pública para que éste, a partir de ahora, envíe toda la información cifrada con dicha clave pública. En esta fase de negociación se procede al intercambio de claves y las listas de algoritmos soportados por orden de preferencia: