2010-11-22 23 views
8

Je souhaite partager ma réponse pour la question dans le titre, que je ne trouve pas rapidement.Comment désactiver l'authentification par mot de passe pour tous les utilisateurs sauf plusieurs

Il beaucoup de sujets comment désactiver le mot de passe auth du tout:

UsePam yes # it will not be used 
ChallengeResponseAuthentication no 
PasswordAuthentication no 
kbdInteractiveAutentication no 

mais aucun sujet comment activer pour l'utilisateur paticular:

Match User myuser 
    PasswordAuthentication yes 
    KbdInteractiveAutentication yes 

commande également utile pour tester sshd config est:

sshd -T -C user=myuser,host=127.1,addr=127.1 

Veuillez noter que "127.1" ne fonctionnera pas sur tous les systèmes, donc vous devrez peut-être passé e 127.0.0.1 ici.

Répondre

2

S'il est pas l'authentification par mot de passe spécifiquement, vous pouvez forcer l'utilisation de pam_access.so et votre /etc/security/access.conf ressembler à ceci:

+ : myuser : <ip/net here or ALL> 
- : ALL : ALL 
+0

La politique de sécurité anti-piratage pour mon serveur. De nombreuses attaques et analyses utilisent la méthode d'authentification par mot de passe pour vérifier les mots de passe faibles. Alors quand un attaquant potentiel voudra me pirater, il s'en ira avec rien. –

+0

Ensuite, vous pourriez envisager d'utiliser 'pam_access.so' globalement car cela affecterait non seulement l'authentification par mot de passe de' SSH' mais aussi tous les autres services configurés pour utiliser PAM. – dennycrane

+0

Tous les autres services sont derrière pf (4) –