J'ai des doutes sur certaines configurations de serveur ssh sur /etc/ssh/sshd_config
. Je veux le prochain comportement:
Si je mets PasswordAuthentication no
mon premier point est satisfait mais pas le second. Il existe un moyen de définir PasswordAuthentication no
uniquement pour root?
Vous pouvez le faire en utilisant la directive PermitRootLogin
. Du sshd_config
page de manuel:
Spécifie si root peut se connecter à l'aide de ssh (1). L'argument doit être "oui", "sans mot de passe", "commandes forcées uniquement" ou "non". La valeur par défaut est "oui".
Si cette option est définie sur "sans mot de passe", l'authentification par mot de passe est désactivée pour root.
Ce qui suit accomplira ce que vous voulez:
PasswordAuthentication yes
PermitRootLogin without-password
Vous pouvez utiliser les blocs Match
pour configurer certaines options par authentification d'utilisateur ou de groupe ou par adresse IP ou nom d'hôte de l'origine de la connexion.
PasswordAuthentication yes
PermitRootLogin yes
Match User root
PasswordAuthentication no
J'ai une approche encore plus restrictive pour accorder des privilèges root sur mon serveur, ce qui pourrait être intéressant pour les paranoïaques comme moi. Faites attention à ce que vous faites et dans quel ordre, sinon vous pourriez vous retrouver avec un système sur lequel vous ne pouvez pas obtenir un accès root.
sugroup
, dont les membres seront autorisés à devenir root et n'autoriseront que l'authentification par clé pour ce groupe en mettant les lignes suivantes à la fin de sshd_confid:Match Group sugroup
PasswordAuthentication no
auth required pam_wheel.so group=sugroup
dans /etc/pam.d/su
. Il est peut-être déjà là et il suffit de le décommenter. Cela refuse l'accès root à tous les utilisateurs non membres du sous-groupePermitRootLogin no
dans /etc/ssh/sshd_config
.En utilisant cette configuration, il est nécessaire d'utiliser une authentification par clé et un mot de passe pour devenir root. J'ai configuré mon serveur comme ça, car je préfère ne pas avoir d'accès root direct via ssh, quelle que soit la méthode d'authentification.