GNU/Linux >> Tutoriels Linux >  >> Linux

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 aux utilisateurs ou à un groupe. Au lieu de cela, nous désactiverons uniquement 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 basée sur une 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 à tout un groupe en utilisant "/etc/ssh/sshd_config" fichier sous Linux. Le fichier sshd_config a 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.

Modifiez 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_config

Tout d'abord, supprimez la méthode d'authentification par défaut en commentant la ligne suivante :

#PasswordAuthentication yes

Ensuite, ajoutez les lignes suivantes à la fin :

[...]
Match User senthil
    PasswordAuthentication no

Désactiver l'authentification par mot de passe SSH pour un utilisateur spécifique

Veuillez noter que la correspondance est effective "jusqu'à une autre ligne de correspondance ou jusqu'à la fin du fichier". Si un mot-clé apparaît dans plusieurs blocs Match satisfaits, seule la première instance 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 appliquer les modifications :

$ sudo systemctl restart ssh

Essayez maintenant de vous connecter en tant qu'utilisateur "senthil" via SSH :

$ ssh [email protected]

Vous verrez le message d'erreur suivant :

[email protected]: Permission denied (publickey).

Désactiver l'authentification par mot de passe SSH pour un utilisateur spécifique sous Linux

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, remplacez simplement 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 votre propre nom de 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 d'utilisateur séparés par des virgules comme ci-dessous :

Match User senthil,kumar
    PasswordAuthentication no

L'exemple de configuration 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 souhaiterez peut-être autoriser l'authentification par mot de passe SSH pour l'utilisateur "root" uniquement 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 no

Restreindre l'authentification du mot de passe SSH par hôte ou adresse IP

Pas seulement un utilisateur ou un 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 d'un hôte contenant l'adresse IP :

Match Address 192.168.225.37
       PasswordAuthentication no

Pour limiter l'authentification par mot de passe SSH pour une plage spécifique d'adresses IP, ajoutez ceci :

Match Address 192.168.225.*
      PasswordAuthentication no

Et cet exemple refusera l'accès SSH en utilisant le mot de passe d'un hôte contenant le nom d'hôte :

Match Address hostname
       PasswordAuthentication no

Pour plus de détails, consultez les pages de manuel.

$ man sshd_config

Conclusion

Dans ce guide, nous avons expliqué comment désactiver l'authentification par mot de passe SSH pour un utilisateur ou un groupe spécifique sous Linux. Nous avons également examiné comment désactiver l'accès par mot de passe SSH pour plusieurs utilisateurs, comment restreindre l'accès par mot de passe SSH à tous les utilisateurs, à l'exception de l'utilisateur root. Enfin, nous avons appris à restreindre l'authentification par mot de passe SSH par hôte ou adresse IP.

Autres guides liés à SSH :

  • Comment configurer l'authentification basée sur une clé SSH sous Linux
  • Autoriser ou refuser l'accès SSH à un utilisateur ou à un groupe particulier sous Linux
  • Limiter le nombre de connexions SSH par utilisateur/groupe/système
  • Restreindre l'accès aux serveurs Linux à l'aide d'encapsuleurs TCP
  • 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 sous Linux
  • SSLH :partager un même port pour HTTPS et SSH
  • ScanSSH – Serveur SSH rapide et analyseur de proxy ouvert
  • Comment reprendre des fichiers partiellement transférés via SSH à l'aide de Rsync
  • Comment exécuter une commande unique sur plusieurs systèmes distants à la fois
  • DSH – Exécuter une commande Linux sur plusieurs hôtes à la fois
  • Comment empêcher la session SSH de se déconnecter sous Linux
  • Comment activer SSH sur FreeBSD

J'espère que cela vous aidera.


Linux
  1. Comment désactiver la connexion de l'utilisateur racine via SSH

  2. Ssh – Restreindre un utilisateur Ssh/scp/sftp à un répertoire ?

  3. Désactiver le shell utilisateur pour des raisons de sécurité ?

  4. Comment saisir un mot de passe pour plusieurs fenêtres ?

  5. Comment désactiver la connexion SSH avec un mot de passe

Comment désactiver l'authentification par mot de passe SSH sur Linux VPS

Comment modifier, supprimer ou désactiver le mot de passe utilisateur sous Linux

Comment savoir si un utilisateur utilise une authentification SSH basée sur un mot de passe ou une clé sous Linux

Comment configurer l'authentification multifacteur pour SSH sous Linux

Comment désactiver la connexion SSH à un utilisateur spécifique sous Linux

Comment désactiver la connexion SSH pour l'utilisateur root sous Linux ?