Recientemente habilité la autenticación de dos factores usando google-authenticator en mi servidor SSH. Sin embargo, ahora estoy enfrentando un problema:
Tengo un grupo diferente de usuarios en mi servidor que estoy usando para SFTP, pero ese grupo ya no puede iniciar sesión ya que 2FA no está configurado para los usuarios del grupo. ¿Es posible deshabilitar el módulo google-authenticator para ese grupo? Habilitarlo para los usuarios del grupo no es una opción porque varios usuarios usarán esta cuenta.
PD: yo uso openssh-server
Respuestas:
Puede usar el
pam_succeed_if
módulo (consulte la página del manual) antespam_google_authenticator
de omitir esta parte para su grupo:fuente
[success=1 default=ignore]
lugar derequired
. En este momento, creo que un usuario que no está en el grupo provocará un error de autenticación.success=1
hará que omita el siguiente método,default=ignore
significará que los usuarios que no están en el grupo simplemente pasarán al siguiente método.Algunos clientes SFTP pueden manejar 2FA. Por ejemplo, estoy usando 2FA con FileZilla y WinSCP y funcionan. También he configurado la autenticación de clave ssh y funciona junto con 2FA.
Sin embargo, su pregunta es interesante e hice una breve encuesta. Encontré esta respuesta .
Por lo tanto, es posible (y fácil) ejecutar instancias ssh separadas. Ya lo he probado.
Haga copias separadas del
sshd_config
archivo.Edite estos nuevos
config
archivos. Una de las cosas que debe cambiar es el puerto shh. Según el ejemplo:2.a)
sshd_config_pwd
las líneas específicas son:2.b)
sshd_config_2fa
las líneas específicas son:Abra los puertos necesarios en el firewall. Según el ejemplo:
Ejecute las nuevas instancias ssh:
Eso es.
fuente
sshd_config
para usar diferentes pilas PAM y no usar 2FA?A continuación se hará Google 2FA obligatoria para todos los usuarios
excepto a los usuarios que pertenecen al sudo y administrador de grupo
(es decir, si un usuario de sudo grupo o administrador no tiene 2FA configurado, le autenticará / ella en función de su clave pública):
Expediente:
/etc/pam.d/sshd
Expediente:
/etc/ssh/sshd_config
Resultados:
De acuerdo con la documentación README.md de Google Authenticator :
Esto hace que el uso de
nullok
aquí sea seguro.fuente