Pourquoi éviter root au quotidien
Le compte root a tous les droits sur le système, sans restriction. Une erreur de commande (mauvais chemin dans un rm, mauvaise redirection) a un impact bien plus large avec root qu'avec un utilisateur limité. La pratique recommandée est de créer un utilisateur dédié avec des privilèges administrateur accordés au cas par cas via sudo, et de réserver root aux situations qui l'exigent réellement.
Créer le nouvel utilisateur
adduser monutilisateur
La commande demande un mot de passe et quelques informations optionnelles (nom complet, etc. — laissables vides).
Lui donner les privilèges sudo
Sur Debian/Ubuntu, ajoute l'utilisateur au groupe sudo :
usermod -aG sudo monutilisateur
Il peut désormais exécuter des commandes administratives en les préfixant par sudo, après avoir confirmé son propre mot de passe.
Configurer sa clé SSH
Copie ta clé SSH publique vers le nouvel utilisateur pour pouvoir t'y connecter directement sans mot de passe :
rsync --archive --chown=monutilisateur:monutilisateur ~/.ssh /home/monutilisateur
Ou, si tu es déjà connecté en tant que ce nouvel utilisateur :
ssh-copy-id monutilisateur@adresse-ip-du-vps
Tester avant de couper l'accès root
Avant de désactiver la connexion SSH directe en root (recommandé une fois le nouvel utilisateur opérationnel), ouvre un second terminal et vérifie que la connexion avec le nouvel utilisateur et sa clé fonctionne parfaitement, y compris l'élévation sudo.
Désactiver la connexion SSH directe en root
Une fois validé, édite la configuration SSH :
sudo nano /etc/ssh/sshd_config
PermitRootLogin no
Puis redémarre le service SSH :
sudo systemctl restart sshd
root reste accessible via sudo depuis le nouvel utilisateur, mais plus en connexion SSH directe — une couche de protection supplémentaire contre les tentatives d'intrusion automatisées, qui ciblent presque toujours ce compte en priorité.