Par défaut, tous les utilisateurs peuvent se connecter en SSH à un système avec un mot de passe/clé publique valide. Pour certains Serveurs dédiés avec des rôles spécifiques, tels que Serveur FTP, Serveur de messagerie, etc. ; il est généralement recommandé de désactiver les utilisateurs non root pour se connecter via SSH. La publication détaille les étapes pour désactiver l'accès de connexion ssh de l'utilisateur non root aux systèmes. Il y a 3 façons différentes discutées ici. L'une des trois façons ci-dessous pourrait atteindre l'objectif.
Méthode 1 - en utilisant le fichier /etc/ssh/sshd_config
Cette méthode peut être utilisée pour permettre à quelques utilisateurs de se connecter en SSH. Modifiez le fichier /etc/ssh/sshd_config (fichier de configuration du démon OpenSSH SSH) et ajoutez le mot-clé AllowUsers avec pour argument racine .
# vi /etc/ssh/sshd_config AllowUsers rootRemarque :les mots clés sont insensibles à la casse et les arguments sont également sensibles à la casse.
Redémarrez maintenant le service sshd :
# service sshd restart Stopping sshd: [ OK ] Starting sshd: [ OK ]
Vérifiez que les utilisateurs non root ne peuvent pas se connecter via SSH mais que l'utilisateur root le peut.
# ssh test@host1 test@host1's password: Permission denied, please try again. test@host1's password: Permission denied, please try again. test@host1's password: Permission denied (publickey,gssapi-with-mic,password).# ssh root@host1 root@host1's password: Last login: Wed Sep 13 10:47:14 2017 from 10.10.10.10 [root@host1 ~]#Méthode 2 – utilisation du fichier /etc/nologin
C'est le moyen le plus rapide de bloquer tous les utilisateurs non root de la connexion SSH.
1. Créez un fichier /etc/nologin sur l'hôte distant.
# touch /etc/nologin # ls -lrt /etc/nologin -rw-r--r-- 1 root root 0 Sep 13 13:23 /etc/nologinRemarque :Si ce fichier existe, seul l'utilisateur root est autorisé à se connecter au système via SSH. Si le fichier /etc/nologin.txt existe, nologin affiche son contenu à l'utilisateur au lieu du message par défaut.Assurez-vous que la ligne ci-dessous se trouve dans le fichier /etc/pam.d/sshd :
account required pam_nologin.soNote: backup the file /etc/pam.d/sshd before modifying it.Redémarrez ensuite le service sshd :
# service sshd restart Stopping sshd: [ OK ] Starting sshd: [ OK ]Vérifiez la connexion SSH de l'utilisateur non root :
# ssh test@host1 test@host1's password: Connection closed by 192.168.10.10Méthode 3 - en utilisant le fichier /etc/sshd/sshd.allow
Le fichier /etc/sshd/sshd.allow est utilisé pour spécifier la liste des utilisateurs auxquels nous voulons donner un accès ssh. Si nous mentionnons simplement l'utilisateur root dans ce fichier, tous les autres utilisateurs se verront refuser l'accès ssh à l'hôte.
1. Ajoutez l'utilisateur root au fichier /etc/sshd/sshd.allow (si le répertoire/fichier n'existe pas, créez-le manuellement).
# cat /etc/sshd/sshd.allow root2. Remplacez la ligne auth comme ci-dessous dans le fichier /etc/pam.d/sshd :
auth required pam_listfile.so item=user sense=allow file=/etc/sshd/sshd.allow onerr=failIci,
auth requis pam_listfile.so :Nom du module requis lors de l'authentification des utilisateurs.
item=user :Vérifiez le nom d'utilisateur de l'élément.
sense=allow :Autoriser l'utilisateur.
file=/etc/sshd/sshd.allow :Fichier de liste d'utilisateurs.
onerr=fail :Si le nom d'utilisateur n'est pas dans le fichier, il ne permettra pas de se connecter.3. Redémarrez le service sshd une fois que vous avez terminé avec toutes les modifications ci-dessus.
# service sshd restart Stopping sshd: [ OK ] Starting sshd: [ OK ]4. Vérifiez la connexion SSH de l'utilisateur non root :
# ssh test@host1 test@host1's password: Permission denied, please try again. test@host1's password: Permission denied, please try again. test@host1's password: Permission denied (publickey,gssapi-with-mic,password).Vérifiez également si vous pouvez vous connecter en ssh avec l'utilisateur root :
# ssh root@host1 ssh root@host1's password: Last login: Wed Sep 13 14:53:47 2017 from 10.10.10.10 [root@host1 ~]#