N’autoriser les connexions SSH root que par clé

Comment obliger l'authentification SSH de root par clé uniquement ?

Les connexions de root en SSH sont principalement gérés par la variable « PermitRootLogin » du fichier de configuration d’SSH « sshd_config » (généralement « /etc/ssh/sshd_config« ). Il est possible d’obliger l’authentification SSH de root par clé en passant la valeur  « PermitRootLogin » à « without-password« .

01:04 srv ~ # cat /etc/ssh/sshd_config
...
# Authentication:
 
# LoginGraceTime 2m
PermitRootLogin without-password
# StrictModes yes
...

La clé publique « test-srv.key.pub » ayant été ajoutée au fichier « authorized_keys » de root sur le serveur « srv » nous obtenons à l’exécution :

fhh@mafalda ~ $ ssh root@srv.rez0.lan
Password:
Password:
Password:
Permission denied (publickey,keyboard-interactive).
fhh@mafalda ~ $ ssh root@srv.rez0.lan -i test-srv.key
Enter passphrase for key 'test-srv.key':
01:17 srv ~ #

(Voir « Restriction des commandes SSH sur clés publique /privée » pour plus de détails sur la mise en place de l’authentification par clé).

« PermitRootLogin » peut prendre les valeurs suivante :

  • « yes » : root peut ce connecter en SSH sur la machine comme il le souhaite. Soit par clé publique / privée (avec ou sans mot de passe) , soit par login mot de passe de compte UNIX, etc.
  • « no » : root ne peut utiliser SSH pour ce connecter à la machine.
  • « without-password » : n’autorise les connexions de root qu’en utilisant un couple de clés publique / privée (avec ou sans mot de passe bien sûr).
  • « forced-commands-only » : n’autorise la connexion de root qu’en utilisant un couple de clés dont l’option « command » est définie (utilisé pour les sauvegardes, etc.).

Pour plus de détail sur l’option « command » des clés SSH voir « Restriction des commandes SSH sur clés publique /privée » sur ce site.

Toutes les options décrites dans l’article « Restriction des commandes SSH sur clés publique /privée » restent applicables avec les valeurs without-password et forced-commands-only de « PermitRootLogin« .

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *