web-dev-qa-db-fra.com

Désactiver le module PAM pour le groupe

J'ai récemment activé l'authentification à deux facteurs à l'aide de google-authentator sur mon serveur SSH. Cependant, je suis maintenant confronté à un problème:

J'ai un groupe d'utilisateurs différent sur mon serveur que j'utilise pour SFTP, mais ce groupe n'est plus en mesure de se connecter car 2FA n'est pas configuré pour les utilisateurs du groupe. Est-il possible de désactiver le module google-authentator pour ce groupe? L'activer pour les utilisateurs du groupe n'est pas une option car plusieurs utilisateurs utiliseront ce compte.

PS: j'utilise openssh-server

9
Z3r0byte

Vous pouvez utiliser le module pam_succeed_if (voir la page de manuel) avant le pam_google_authenticator pour ignorer cette partie pour votre groupe:

# the other authentication methods, such as @include common-auth
auth [success=1 default=ignore] pam_succeed_if.so user ingroup group
auth required pam_google_authenticator ...
12
Jakuje

Certains clients SFTP peuvent gérer 2FA. Par exemple, j'utilise 2FA avec FileZilla et WinSCP et ils fonctionnent. De plus, j'ai configuré l'authentification ssh-key et cela fonctionne aux côtés de 2FA.

Cependant, votre question est intéressante et j'ai réalisé un bref sondage. J'ai trouvé cette réponse .

Il est donc possible (et facile) d’exécuter des instances ssh distinctes. Je l'ai déjà testé.

  1. Faites des copies séparées du fichier sshd_config.

    $ Sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_pwd
    $ Sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_2fa
    
  2. Editez ces nouveaux fichiers config. Une des choses que vous devez changer est le shh port. Selon l'exemple:

    2.a) sshd_config_pwd les lignes spécifiques sont les suivantes:

    Port 1022
    ...
    PasswordAuthentication yes
    ChallengeResponseAuthentication no
    UsePAM no
    

    2.b) sshd_config_2fa les lignes spécifiques sont les suivantes:

    Port 2022
    ...
    PasswordAuthentication no
    ChallengeResponseAuthentication yes
    UsePAM yes
    
  3. Ouvrez les ports nécessaires dans le pare-feu. Selon l'exemple:

    $ Sudo ufw limit 1022
    $ Sudo ufw limit 2022
    
  4. Exécutez les nouvelles instances ssh:

    $ Sudo /usr/sbin/sshd -f /etc/ssh/sshd_config_pwd
    $ Sudo /usr/sbin/sshd -f /etc/ssh/sshd_config_2fa
    

C'est tout.

1
pa4080