Désactiver l'authentification par mot de passe SSH pour un utilisateur ou un groupe spécifique
Ce guide explique comment désactiver l'authentification par mot de passe SSH pour un utilisateur ou un groupe spécifique dans les systèmes d'exploitation Linux et Unix.
Veuillez noter que nous n'allons pas désactiver entièrement l'accès SSH pour les utilisateurs ou un groupe. Nous allons seulement désactiver l'authentification par mot de passe SSH.
Les utilisateurs peuvent toujours accéder aux systèmes via SSH en utilisant d'autres méthodes d'authentification, par exemple l'authentification par clé SSH.
Désactiver l'authentification par mot de passe SSH pour un utilisateur ou un groupe spécifique
Nous pouvons autoriser ou refuser l'accès SSH aux utilisateurs et/ou à un groupe entier en utilisant le fichier "/etc/ssh/sshd_config" sous Linux. Le fichier sshd_config contient un paramètre nommé "Match" qui vous aidera à désactiver l'authentification par mot de passe SSH pour les utilisateurs ou les groupes.
Voyons d'abord comment désactiver l'authentification par mot de passe pour un utilisateur spécifique.
Éditez le fichier "/etc/ssh/sshd_config" en utilisant votre éditeur préféré en tant qu'utilisateur root ou sudo :
$ sudo nano /etc/ssh/sshd_configTout d'abord, supprimez la méthode d'authentification par défaut en commentant la ligne suivante :
#PasswordAuthentication yesEnsuite, ajoutez les lignes suivantes à la fin :
[...]
Match User senthil
PasswordAuthentication noVeuillez noter que Match est effectif « jusqu'à ce qu'une autre ligne Match apparaisse ou jusqu'à la fin du fichier ». Si un mot-clé apparaît dans plusieurs blocs Match qui sont satisfaits, seule la première occurrence du mot-clé est appliquée.
Comme dans l'exemple ci-dessus, nous avons désactivé l'authentification par mot de passe SSH pour l'utilisateur appelé "senthil". Remplacez "senthil" par votre propre nom d'utilisateur. Enregistrez et fermez le fichier. Redémarrez le service ssh pour que les modifications prennent effet :
$ sudo systemctl restart sshEssayez maintenant de vous connecter en tant qu'utilisateur « senthil » via SSH :
$ ssh senthil@192.168.225.53Vous verrez le message d'erreur suivant :
senthil@192.168.225.53: Permission denied (publickey).Désactiver l'authentification par mot de passe SSH pour un groupe
Pour désactiver l'authentification par mot de passe SSH pour un groupe spécifique, il suffit de remplacer le nom d'utilisateur par le nom du groupe dans le fichier sshd_config.
Match Group mygroup
PasswordAuthentication no
Remplacez « mygroup » dans la configuration ci-dessus par le nom de votre propre groupe.
N'oubliez pas de redémarrer le service SSH pour appliquer les modifications.
Désactiver l'authentification par mot de passe SSH pour plusieurs utilisateurs
Vous pouvez refuser l'authentification par mot de passe SSH pour plusieurs utilisateurs en mentionnant les noms des utilisateurs séparés par des virgules comme ci-dessous :
Match User senthil,kumar
PasswordAuthentication noLa configuration d'exemple ci-dessus empêchera l'authentification par mot de passe SSH pour les utilisateurs « senthil » et « kumar ».
Désactiver l'authentification par mot de passe SSH pour tous les utilisateurs sauf l'utilisateur root
Dans certains systèmes Linux, vous pourriez vouloir autoriser l'authentification par mot de passe SSH uniquement pour l'utilisateur « root » et la désactiver pour tous les autres utilisateurs. Si c'est le cas, ajoutez la ligne suivante dans le fichier sshd_config à la fin :
Match User !root
PasswordAuthentication noRestreindre l'authentification par mot de passe SSH par hôte ou adresse IP
Pas seulement par utilisateur ou groupe, nous pouvons également refuser l'authentification par mot de passe SSH par hôte ou adresse IP.
Par exemple, l'exemple suivant empêchera l'accès SSH depuis un hôte qui contient l'adresse IP :
Match Address 192.168.225.37
PasswordAuthentication noPour limiter l'authentification par mot de passe SSH à une plage spécifique d'adresses IP, ajoutez ceci :
Match Address 192.168.225.*
PasswordAuthentication noEt cet exemple refusera l'accès SSH en utilisant le mot de passe depuis un hôte qui contient le nom d'hôte :
Match Address hostname
PasswordAuthentication noPour plus de détails, consultez les pages de manuel.
$ man sshd_configConclusion
Dans ce guide, nous avons discuté de la façon de désactiver l'authentification par mot de passe SSH pour un utilisateur ou un groupe spécifique dans Linux. Nous avons ensuite examiné comment désactiver l'accès SSH par mot de passe pour plusieurs utilisateurs, comment restreindre l'accès SSH par mot de passe à tous les utilisateurs sauf pour l'utilisateur root. Enfin, nous avons appris comment restreindre l'authentification par mot de passe SSH par hôte ou adresse IP.
Autres guides liés à SSH :
- Comment configurer l'authentification par clé SSH sous Linux
- Autoriser ou refuser l'accès SSH à un utilisateur ou groupe particulier sous Linux
- Limiter le nombre de connexions SSH par utilisateur/groupe/système
- Restreindre l'accès aux serveurs Linux en utilisant TCP Wrappers
- Exécuter des commandes sur des systèmes Linux distants via SSH
- Comment créer un alias SSH sous Linux
- Comment se connecter en SSH à un répertoire particulier sur Linux
- SSLH – Partager un même port pour HTTPS et SSH
- ScanSSH – Serveur SSH Rapide et Scanner de Proxy Ouvert
- Comment reprendre des fichiers partiellement transférés via SSH en utilisant Rsync
- Comment exécuter une seule commande sur plusieurs systèmes distants à la fois
- DSH – Exécuter une commande Linux sur plusieurs hôtes en même temps
- Comment empêcher une session SSH de se déconnecter sous Linux
- Comment activer SSH sur FreeBSD
J'espère que cela aide.

