Comme vous le savez peut-être déjà, SSH (Secure Shell ) est un protocole réseau permettant d'accéder en toute sécurité à un ordinateur à distance. Le serveur et le logiciel client sous Linux sont ainsi connus sous le nom de serveur SSH et Client SSH respectivement et ont de nombreuses implémentations.
Par défaut, SSH vous permet de vous connecter à n'importe quel utilisateur de l'ordinateur, tant que vous avez le mot de passe de l'utilisateur. Cependant, cela pose le même problème auquel est confronté tout logiciel utilisant l'authentification par mot de passe :une invitation pour un attaquant à exploiter et à obtenir un accès administrateur.
Aujourd'hui, nous verrons comment désactiver la connexion SSH à un utilisateur spécifique et, plus important encore, à l'utilisateur root.
Désactiver l'accès SSH à l'utilisateur
Vous pouvez vous connecter à un système en utilisant SSH avec n'importe quel utilisateur, en utilisant la syntaxe suivante :
$ ssh tempuser@localhost
À l'heure actuelle, l'accès SSH est autorisé sur ma machine pour tous les utilisateurs. Refusons maintenant l'accès à un utilisateur particulier appelé 'tempuser ‘.
Ouvrez le fichier '/etc/ssh/sshd_config ' dans n'importe quel éditeur de texte.
$ sudo vim /etc/ssh/sshd_config
Ajoutez la ligne suivante à la fin du fichier :
DenyUsers tempuser
Important :Il y a un 'onglet ‘ entre ‘DenyUsers ' et 'tempuser ' et non l'espace. Il ne reconnaîtra pas la directive si vous ajoutez un espace.
Enregistrez et quittez le fichier.
Redémarrez le serveur SSH avec la commande suivante :
$ sudo systemctl restart ssh
Si vous utilisez un système qui n'a pas SystemD , exécutez :
$ sudo service ssh restart
Maintenant, essayez de vous connecter à localhost avec l'utilisateur 'tempuser ' en utilisant SSH. Il devrait afficher l'erreur "Autorisation refusée ', comme indiqué ci-dessous :
$ ssh tempuser@localhost
Désactiver l'accès racine SSH
La même méthode décrite ci-dessus peut être utilisée pour désactiver la connexion à un utilisateur root. Cependant, pour désactiver l'accès root complet, c'est-à-dire pour désactiver l'accès à tous les utilisateurs root, suivez les étapes ci-dessous.
Ouvrez le fichier '/etc/ssh/sshd_config ' dans n'importe quel éditeur de texte et recherchez la chaîne 'PermitRootLogin '. Décommentez la ligne et si elle a une autre valeur, définissez la valeur sur "non '.
PermitRootLogin no
Enregistrez et quittez le fichier. Redémarrez SSH avec :
$ sudo systemctl restart ssh
Ou si vous n'avez pas SystemD :
$ sudo service ssh restart
Essayez maintenant de vous connecter à localhost avec l'utilisateur 'root '. Il affichera également l'erreur "Autorisation refusée '.
$ ssh root@localhost
Conclusion
Dans cet article, nous avons appris comment désactiver l'accès de connexion SSH à un utilisateur spécifique. La restriction de l'accès à un utilisateur non root dépend de scénarios individuels, cependant, l'accès à root doit toujours être restreint.
S'il est nécessaire d'accéder à la racine à distance, vous devez configurer SSH avec l'authentification RSA, qui est plus sécurisée que l'authentification par mot de passe. Lisez la page de manuel de SSH ('man ssh ’) pour plus de détails.
Merci d'avoir lu et faites-nous part de vos réflexions dans la section des commentaires ci-dessous !