Après avoir lu cette question similaire , je ne vois pas comment exiger des clés SSH pour user
, tout en refusant l'accès SSH à root
(clé ou mot de passe). J'utiliserai Sudo après avoir ouvert une session en tant qu'utilisateur si je dois être root.
Je sais comment exiger des clés SSH:
PermitRootLogin without-password
Je sais comment désactiver l'utilisateur 'root' de la connexion:
PermitRootLogin no
Je sais comment ajouter un utilisateur à la liste blanche:
AllowUsers user
Je ne sais pas comment mettre tout cela ensemble (ou si c'est même nécessaire? - La clé SSH peut suffire). Je résoudrais normalement une réponse comme celle-ci par essais et erreurs, mais j'ai peur de me verrouiller hors de ce serveur ...
Si vous souhaitez interdire les connexions par mot de passe, définissez simplement PasswordAuthentication no
dans le sshd_conf
du serveur.
Je ne me souviens pas exactement, mais je pense au moins qu'aucune connexion root n'est la valeur par défaut.
Si vous tentez de vous connecter en tant qu’utilisateur du système qui n’a pas de clé publique dans son ~/.ssh/authorized_keys
, il vous demandera le mot de passe, qu’un mot de passe soit défini ou non, ou qu’un shell est disponible, si aucun mot de passe n'a été connecté. été désactivé.
Je pense que ce que vous voulez, c'est simplement:
PasswordAuthentication no PermitRootLogin no
Cela interdira toute connexion root, avec la clé ssh ou le mot de passe, et obligera les utilisateurs à se connecter avec une clé valide, comme indiqué en ayant la clé publique dans le fichier ~/.ssh/authorized_keys
de cet utilisateur.