ssh -o Autenticaciones preferidas: ¿Cuál es la diferencia entre "contraseña" y "teclado interactivo"?

36

Tanto PreferredAuthentications=passwordy PreferredAuthentications=keyboard-interactivele pedirá la contraseña, así que cuál es la diferencia entre ellos?

Busqué en Google las palabras clave ssh PreferredAuthentifications contraseña interactiva con el teclado, pero no encontré respuestas.

La única diferencia que noté son las cadenas de comandos ( user@host's password:vs. Password:):

$ ssh -o PreferredAuthentications=password,keyboard-interactive my-host
root@my-host's password:
Password:
Permission denied (gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive).

ACTUALIZACIÓN (2018-04-09):

Para referencia fácil, el siguiente es del libro SSH: TDG como se menciona en la respuesta de jouell .

"keyboard-interactive"La autenticación del usuario está destinada principalmente a la PAMautenticación en el lado del servidor. Proporciona un diálogo de desafío-respuesta múltiple con el usuario en el que el servidor envía una consulta de texto al usuario, el usuario escribe una respuesta y este proceso puede repetirse cualquier cantidad de veces. Entonces, por ejemplo, puede configurar PAMSSH con un módulo que realiza la autenticación utilizando un token de seguridad RSA o un esquema de contraseña de un solo uso . Las personas se confunden con esto porque, de manera predeterminada, la "keyboard-interactive"autenticación solo implementa la autenticación de contraseña en un solo ciclo de desafío-respuesta, que solo solicita una contraseña, por lo que se ve exactamente igual a"password"autenticación. Si no está utilizando ambos deliberadamente para diferentes propósitos, puede deshabilitar uno u otro para evitar la confusión del usuario final.

pynexj
fuente
1
Vea RFC 4252 para la autenticación de contraseña y RFC 4256 para teclado interactivo .
pynexj

Respuestas:

37

El protocolo SSH tiene numerosos métodos de autenticación. La contraseña y el teclado interactivo son dos de ellos.

La autenticación de contraseña es una simple solicitud de una sola contraseña. No hay un mensaje específico enviado por el servidor. Por lo que es el cliente que elige cómo etiquetar el símbolo (el "usuario @ contraseña del host" pronta es del OpenSSH clientes , como ssh, sftp, etc.).

La autenticación interactiva por teclado es una solicitud más compleja de número arbitrario de piezas de información. Para cada pieza de información, el servidor envía la etiqueta de la solicitud. Además, permite que el servidor proporcione una descripción completa del "formulario" general. El servidor también puede especificar qué entradas son secretas (deben ofuscarse cuando el usuario las escribe) y cuáles no.

Aunque en la mayoría de los casos, la autenticación interactiva con el teclado se usa para solicitar una sola solicitud de contraseña "secreta", por lo que casi no hay diferencia en la autenticación de contraseña .

Esa es la diferencia desde la perspectiva del protocolo.


Desde la perspectiva de la implementación, con el servidor OpenSSH, la autenticación interactiva por teclado se puede conectar a las autenticaciones de dos factores (o factores múltiples), por ejemplo, proporcionadas por un mecanismo genérico PAM o Kerberos .

Desde la perspectiva del cliente, otra diferencia es la localización. Con la autenticación de contraseña , el cliente puede localizar la etiqueta "Contraseña" , porque sabe que el servidor está solicitando una contraseña. Con la autenticación interactiva por teclado , incluso cuando el servidor solicita una sola contraseña, el cliente no puede localizar la solicitud (a menos que emplee AI), porque es una solicitud genérica.

Martin Prikryl
fuente
2

Ya sabes qué es 'contraseña'. Desde un nivel muy alto (no un protocolo de nivel de ladrillo), piense en 'teclado interactivo' como el método para usar 2FA usando Radius y / o SecurID, etc. Proporciona diálogos de desafío y respuesta: ssh.com tiene un buen breve descripción sobre el mismo. Da un paso más para resaltar que el teclado interactivo es el paraguas bajo el cual se encuentra la contraseña. Respetuosamente a los autores, es un poco confuso.

Consulte también la definición del Libro de caracoles . Usamos esto con frecuencia para nuestras cajas protegidas RSA.

jouell
fuente