Ce bref guide vous guidera à travers les étapes pour autoriser ou refuser l'accès SSH à un utilisateur particulier ou à un groupe dans les systèmes d'exploitation Linux et Unix.
Présentation
Il y a quelque temps, nous avons discuté de la façon de limiter l'accès d'un utilisateur au système Linux à l'aide d'un shell restreint . Une fois que nous avons mis les utilisateurs en mode restreint, ils ne peuvent rien faire d'autre que ce qu'ils sont autorisés à faire.
Cela sera utile lorsque vous souhaitez autoriser un utilisateur particulier à exécuter uniquement un ensemble spécifique de commandes.
Ici, dans cet article, nous allons activer ou désactiver l'accès SSH pour un utilisateur ou un groupe en apportant quelques modifications au fichier de configuration SSH par défaut.
Autoriser ou refuser l'accès SSH à un utilisateur ou un groupe particulier sous Linux
Le fichier de configuration par défaut openSSH a deux directives pour autoriser et refuser l'accès SSH à un ou plusieurs utilisateurs ou à un groupe particulier.
Voyons d'abord comment autoriser ou activer l'accès SSH à un utilisateur et à un groupe. Veuillez noter que toutes les commandes indiquées ci-dessous doivent être exécutées en tant que root
ou sudo
utilisateur.
1. Autoriser l'accès SSH à un utilisateur ou à un groupe
Pour autoriser l'accès SSH à un utilisateur particulier, par exemple sk , modifiez sshd_config
fichier :
$ sudo vi /etc/ssh/sshd_config
Appuyez sur "i" pour entrer en mode insertion et ajouter ou modifier la ligne suivante :
AllowUsers sk
Modifier le fichier de configuration ssh pour autoriser l'accès ssh à un utilisateur particulier
Remplacez "sk" par votre nom d'utilisateur. Veuillez faire attention à l'espace d'indentation entre "AllowUsers" et "sk". Vous devez utiliser Tab au lieu de la barre d'espace . Signification - ajoutez le mot "AllowUsers" et appuyez sur la touche Tab, puis spécifiez le nom d'utilisateur.
Vous pouvez également spécifier plusieurs utilisateurs, comme indiqué ci-dessous.
AllowUsers user1 user2
Pour autoriser un groupe entier, dites par exemple root
, ajoutez/modifiez la ligne suivante :
AllowGroups root
Ce paramètre autorisera tous les membres de la "root"
groupe à ssh sur le serveur Linux.
Appuyez sur ESC
touche pour quitter le mode insertion et tapez :wq
pour enregistrer et quitter le fichier de configuration SSH. Redémarrez le service SSH pour appliquer les modifications.
$ sudo systemctl restart sshd
Maintenant, l'utilisateur sk et tous les membres de la "root"
sont autorisés à accéder en ssh à votre serveur Linux. Les autres utilisateurs (sauf sk et les membres de "root"
groupe) ne sont pas autorisés à accéder au système via ssh.
Pour le vérifier, essayez de vous connecter en ssh au serveur Linux en tant que l'un des utilisateurs non autorisés :
$ ssh [email protected]
Vous obtiendrez le message d'erreur suivant :
Mot de passe de[email protected]'s password: Permission denied, please try again.
Autorisation d'accès SSH refusée
2. Refuser l'accès SSH à un utilisateur ou à un groupe
Pour désactiver ou refuser l'accès SSH à un utilisateur ou à un groupe, vous devez ajouter/modifier les directives suivantes dans le sshd_config
de votre serveur distant fichier.
- Refuser les utilisateurs
- Refuser les groupes
Pour refuser l'accès SSH à un utilisateur spécifique appelé "sk", modifiez sshd_config
fichier :
$ sudo vi /etc/ssh/sshd_config
Ajoutez/modifiez la ligne suivante dans le fichier sshd_config.
DenyUsers sk
Assurez-vous que l'indentation de l'espace est correcte. N'utilisez pas la barre d'espace. Appuyez sur la touche Tab et ajoutez le nom d'utilisateur.
De même, pour refuser l'accès SSH à plusieurs utilisateurs, spécifiez les noms d'utilisateur séparés par des espaces, comme indiqué ci-dessous.
DenyUsers user1 user2
De même, pour refuser l'accès SSH à un groupe entier, par exemple root
, ajoutez :
DenyGroups root
Enregistrez et quittez le fichier de configuration ssh. Redémarrez le service ssh pour appliquer les modifications.
$ sudo systemctl restart sshd
Essayez maintenant de vous connecter en ssh à votre machine Linux à partir d'un compte d'utilisateur bloqué, par exemple sk :
$ ssh [email protected]
Vous obtiendrez le message suivant :
[email protected]'s password: Permission denied, please try again. [email protected]'s password:
3. Désactiver la connexion racine SSH
L'accès root ssh est considéré comme une mauvaise pratique en termes de sécurité . Il est donc fortement recommandé de désactiver la connexion utilisateur SSH Root pour sécuriser votre système.
Pour désactiver la connexion root ssh, modifiez sshd_config
fichier :
$ sudo vi /etc/ssh/sshd_config
Recherchez la ligne suivante, décommentez-la et définissez la valeur sur no
.
PermitRootLogin no
Redémarrez le service SSH pour que les modifications prennent effet immédiatement :
$ sudo systemctl restart sshd
Conclusion
Vous savez maintenant comment accorder et restreindre l'accès SSH à certains utilisateurs ou à un groupe sous Linux. Vous avez également appris à refuser ou à désactiver la connexion racine SSH sous Linux. C'est l'une des pratiques de sécurité recommandées que chaque administrateur Linux devrait mettre en œuvre lors de la configuration d'un serveur Linux.
Lire connexe :
- Désactiver l'authentification par mot de passe SSH pour un utilisateur ou un groupe spécifique
- Limiter le nombre de connexions SSH par utilisateur/groupe/système
- Comment se connecter en SSH à un répertoire particulier sous Linux