Restreindre l'accès SSH par mot de passe par utilisateur mais autoriser l'authentification par clé


22

Est-il possible de désactiver l'accès SSH MOT DE PASSE à l'utilisateur mais d'autoriser l'authentification par clé utilisateur? Je veux dire, j'ai un utilisateur A auquel je ne veux pas donner un accès par mot de passe MAIS je ne veux pas qu'il utilise uniquement l'authentification par clé pour accéder au (x) serveur (s). Merci


Réponses:


49

Vous pouvez ajouter des sections "Match" pour faire correspondre des utilisateurs ou des groupes particuliers au bas de sshd_config, comme:

Match user stew
PasswordAuthentication no

ou

Match group dumbusers
PasswordAuthentication no

9
J'éviterais de mettre en retrait car cela suggère que seules les lignes en retrait sont affectées Matchalors qu'en réalité, toute la configuration est affectée jusqu'à la prochaine Matchdirective. Cela pourrait être déroutant pour quelqu'un qui ne connaît pas la syntaxe.
Michael Mior

2
@MichaelMior existe-t-il un moyen de "EndMatch"?
Nick T

4
@NickT Matchfonctionne jusqu'au prochain mot Match- Hostclé. Vous pouvez simplement utiliser Match user *.
Michael Mior

@MichaelMior Est-ce à dire que si vous utilisez Match user ZaQwEdCxS, vous pouvez rendre un ensemble de lignes de configuration utilisable par personne, temporairement ou définitivement?
Tripp Kinetics

Cela signifierait que toutes les lignes de configuration après cela ne s'appliqueraient qu'aux utilisateurs nommés ZaQwEdCxS. Si vous avez une question différente, vous devez poser une nouvelle question.
Michael Mior

4

Verrouillez simplement les mots de passe des utilisateurs auxquels vous ne souhaitez pas vous connecter avec des mots de passe:

usermod -L <user>

Ensuite, placez une clé publique valide dans leur .ssh/authorized_keysfichier et ils ne pourront se connecter qu'avec la clé privée correspondante, mais pas avec un mot de passe.

Remarque: Cela interrompra sudo sauf si l'utilisateur a NOPASSWD: dans son entrée visudo


8
Cela brisera également sudo. Ce n'est peut-être pas un problème dans ce cas, mais cela mérite d'être mentionné.
EEAA

Oui c'est vrai. J'aurais dû le mentionner.
Oliver

1
Certaines configurations OpenSSH (par exemple, je pense qu'Ubuntu 14.04 dans la configuration par défaut) ne permettent pas aux utilisateurs verrouillés d'entrer, même pas via authorized_keys
Nils Toedtmann

@NilsToedtmann pouvez-vous citer une source pour vérification? Il serait également très important de noter dans la réponse, le cas échéant.
Metagraphe

-3

vous devriez examiner

/etc/ssh/sshd_config

Je pense que ce que vous cherchez c'est

PasswordAuthentication yes

changez-le en no et n'oubliez pas de redémarrer sshd


2
Je suis conscient de cela - c'est un paramètre GLOBAL cependant - je veux une option plus granulaire - c'est pourquoi j'ai dit "par utilisateur" - je ne le veux que pour certains utilisateurs (utilisé pour la communication interne entre les serveurs du cluster) - pas pour tous les utilisateurs
tourbillon

oh oui, je suis désolé de ne pas l'avoir lu correctement, alors ce que @stew a recommandé est un chemin à parcourir
alexus
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.