Autenticación SFTP: ¿basada en clave y contraseña al mismo tiempo?

Autenticación SFTP: ¿basada en clave y contraseña al mismo tiempo?

¿Puedo implementar autenticación basada en clave y contraseña al mismo tiempo en el servidor SFTP? Quiero que el servidor primero realice la autenticación basada en claves. y si fue correcto, solicite autenticación basada en contraseña. ¿Es esto posible de implementar?

Respuesta1

SFTP casi siempre (pero no necesariamente) utiliza SSH como transporte. La autenticación se realiza en el nivel SSH. La opción que estás buscando pertenece a la configuración del servidor SSH.

Supongo que OpenSSH. Verman 5 sshd_config[énfasis mío]:

AuthenticationMethods

Especifica los métodos de autenticación que deben completarse correctamente para que se le conceda acceso a un usuario. Esta opción debe ir seguida de una o más listas de nombres de métodos de autenticación separados por comas, o de la cadena única any para indicar el comportamiento predeterminado de aceptar cualquier método de autenticación único. Si se anula el valor predeterminado, la autenticación exitosa requiere completar todos los métodos en al menos una de estas listas.

Por ejemplo,publickey,password publickey,keyboard-interactiverequeriría que el usuario complete la autenticación de clave pública, seguida de una autenticación interactiva con contraseña o teclado.En cada etapa solo se ofrecen los métodos que están a continuación en una o más listas, por lo que para este ejemplo no sería posible intentar la autenticación mediante contraseña o teclado interactivo antes de la clave pública.

[…]

(Nota al margen:¿Cuál es la diferencia entre passwordy keyboard-interactive?)

Parece que el ejemplo es exactamente lo que quieres.

Tenga en cuenta que la configuración afectará no solo a SFTP, sino también a todos los usos de SSH. AFAIK, no puedes usar fácilmente una configuración diferente para SFTP que para todo lo demás, porque la autenticación ocurre antes de que el servidor sepa que quieres SFTP. Sin embargo, el servidor conoce al usuario con suficiente antelación, por lo que si necesita esto para "usuarios solo SFTP", entonces es posible afectar solo a ellos gracias a un bloqueo condicional (Match).

Después de cambiar el archivo de configuración, debe reiniciar el servidor SSH o indicarle que vuelva a cargar la configuración. sshdde OpenSSH relee su configuración al recibir una señal de colgar, SIGHUP.

información relacionada