SSH sans root

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Durcissement SSH (accès root)
Directive clé PermitRootLogin no
Voir aussi SSH securiser · Chage

Interdire la connexion directe en root par SSH : on crée un compte intermédiaire, autorisé à faire sudo, et on désactive l'accès root direct.

Créer un utilisateur et un groupe

groupadd user -g 150                 # groupe avec un GID libre (cf. /etc/group)
useradd root2 -g user                # utilisateur ajouté au groupe

# générer un mot de passe de 8 caractères
cat /dev/urandom | tr -dc 'a-zA-Z0-9-_!@#$%:?' | head -c 8

passwd root2
ssh root2@host

Accorder les droits sudo

visudo
## Le '%' définit une règle pour un groupe
root      ALL=(ALL)  ALL
%wailers  ALL=(ALL)  ALL

Interdire le login root dans sshd_config

PermitRootLogin no
# ou, pour n'autoriser que la clé :
PermitRootLogin without-password
service sshd reload

Désactiver complètement le compte root

Verrouiller le mot de passe ne suffit pas (connexion par clé et sudo restent possibles) : jouer aussi sur la date d'expiration.

passwd -l root          # verrouille le mot de passe
chage -E 0 root         # expire le compte (bloque aussi les crontab root)
chage -E -1 root        # réactive le compte sans limite
chage -l root           # afficher la date d'expiration

Voir aussi