Una vez establecida la clave de sesión en la fase de negociación, comienza la segunda fase en la que tiene lugar la autenticación del cliente.
En SSH se contemplan diversos métodos de autenticación entre los que se pueden destacar tres:
Autenticación nula
El servidor permite que el usuario acceda directamente, sin ninguna comprobación, al servicio solicitado.
Lógicamente, este tipo de autenticación nunca debe ser establecido.
Autenticación basada en contraseña
El servidor permite el acceso si el usuario introduce un nombre de usuario y una contraseña correcta.
Para ello, el cliente envía la contraseña de un usuario del servidor, cifrada con la clave de sesión generada en el establecimiento de la conexión.
El servidor, si es un equipo Windows, verificará la contraseña usando el fichero SAM, mientras que si es un equipo Linux, la verificará usando el fichero /etc/shadow
.
Autenticación basada en clave pública con o sin frase de paso
En lugar de dar una contraseña, el usuario se autentica demostrando que posee la clave privada correspondiente a una clave pública reconocida por el servidor.
Por tanto, la clave pública del usuario debe estar en el anillo de confianza del servidor. En este caso se utiliza un mecanismo conocido como autenticación por desafío.