Vous venez de recevoir votre petit rapsberry et vous décidez d’y installer la célèbre distribution Raspbian.
Par défaut, la première connexion se fait en ssh avec le compte principal utilisateur « pi » et son mot de passe par défaut « raspberry« .
Sur la doc officielle, la PREMIERE chose à faire est de le changer. Et à titre perso je dirai même plus, la PREMIERE chose à faire est de le supprimer ! Sinon vous risquez de vous retrouver assez vite dans la base de données du moteur SHODAN .
Si vous ne connaissez pas encore SHODAN allez voir ICI.
Cette opération de suppression de compte par défaut parait anodine mais n’est pas si simple que ça pour le grand débutant.
Et si vous merdez, vous n’aurez plus du tout accès à la raspberry !!!!
En effet, le compte « pi » est administrateur et appartient au groupe « sudo » avec les pleins pouvoirs. Allez y tester pour voir:
ssh pi@raspberry
sudo -i
et vous apparaissez bien en « root« .
Pour votre culture, ce mécanisme est géré dans le fichier /etc/sudoers mais on ne va pas détailler ici son fonctionnement pour ne pas brouiller la compréhension générale.
Donc vous êtes root, ça tombe bien! Restez en root, nous allons profiter de ses privilèges pour créer notre nouvel utilisateur avec un couple nom d’utilisateur/mot de passe choisi par vos soins.
Création du nouveau compte
…que j’appellerai ici pour l’exemple « tutox »
useradd -m -d /home/tutox/ -s /bin/bash tutox
-Définition du mot de passe pour l’utilisateur « tutox »
passwd tutox
-Rentrez 2 fois le mot de passe.
Pour rappel comment choisir un bon mot de passe, voir l’article de l’ANSSI.
-Ajout de « tutox » au groupe « sudo »:
usermod -G sudo tutox
-Redémarrage de la framboise:
Reboot
-Test de la connexion avec le nouveau compte utilisateur:
ssh tutox@raspberry
Tapez votre super mot de passe
sudo -i
On tape le mot de passe et si tout se passe bien on bascule en root.
Suppression de l’ancien compte « pi »
Puisque le nouveau compte « tutox » est opérationnel on peut passer à la suppression du compte générique « pi »
-Suppression du compte « pi » et de ses fichiers et de son répertoire personnel /home/pi
userdel -r pi
Pour aller plus loin
Vous l’avez sans doute remarqué mais pour passer en root vous êtes obligé de taper une seconde fois le mot de passe de l’utilisateur au moment du « sudo -i’.
Or avant , avec l’utilisateur « pi » quand vous tapiez « sudo -i » vous basculiez directement en root. Cette possibilité est due notamment au fichier :
sudo cat /etc/sudoers.d/010_pi-nopasswd
qui contient
pi ALL=(ALL) NOPASSWD: ALL
Vous l’avez compris c’est le NOPASSWD qui permet à l’utilisateur de ne pas devoir retaper son mot de passe pour basculer en super utilisateur.
Donc si vous souhaitez être comme avant, car AVANT c’était mieux Hein , bah vous créé le même fichier en remplaçant « pi » par votre nouveau nom d’utilisateur , ici « tutox ».
Ou bien vous gérez çà directement dans le fichier /etc/sudoers
sudo visudo
et rajouter la ligne
tutox ALL=(ALL) NOPASSWD: ALL
Du coup votre appartenance au groupe sudo n’est plus nécessaire puisque votre nom d’utilisateur est inscrit en dur dans le fichier « sudoers ».
L’utilisation et la configuration de « sudo » mériteraient à elles seules un tuto entier, ici on ne voit qu’une infime partie au travers de ce petit cas pratique .
Conclusion
La suppression du compte « pi » installé par défaut sur Raspbian est la première étape pour avoir un peu plus de sécurité sur son raspberry. La suite logique voudrait que l’on sécurise aussi le service SSH en lui changeant entre autre son port par défaut.Mais cette étape fera l’objet d’un autre tuto 😉
J’avais jamais su pourquoi sur Raspbian on n’avait pas besoin de taper son mot de passe pour `sudo`. Merci beaucoup!
Bonjour,
merci pour ce travail. aucun intérêt de changer le port par défaut est, un scanner de port le retrouverai. par contre installation de fail2ban et authentification par clef rsa serai pertinent. dispo pour vous aidez si nécessaire.
@Alexandre, si ca a pu taider à démystifier un peu le « sudo -i » sans mot de passe tant mieux ! 😉
@Benns je tinvite à faire le test à laisser ne serait-ce qu’une heure branché ton rapsberry avec le port 22 actif par défaut et à regarder ds les logs fail2ban . Ensuite tu fais la même chose avec un port 22222 par défaut.
Le nombre de tentatives de bruteforce descend dragstiquement. Du coup, tu élimines quand même un grand nombre de « script kiddie »..
Mais au final on est daccord le changement de port par défaut ne prémunit pas totalement d’un scan ciblé avec nmap sur le service ssh
même si ce n’est pas le sujet du post, pour pousser le détail des connexions ssh
outre la modification du port
PermitRootLogin no
AllowUsers utilisateur
est toujours bon a mettre, ainsi pi n’est plus autorisé
Bonjour Benzo,
Petit probleme de debutant… Apre le Reboot et ssh nouveau_nom@raspberry j’ai le message suivant:
ssh: Could not resolve hostname raspberry: Name or service not known
Peux-tu m’aider.
Merci
salut Alf,
si tu testes avec nouveau_nom@IP , je suppose que tu n’as pas le soucis.
Il faut que tu paramètres le nouveau nom de ton raspberry soit:
-via raspi-config
-via /etc/hosts et /etc/hostname
Un petit lien pour t’aider
https://geek-university.com/raspberry-pi/change-raspberry-pis-hostname/
Merci Benzo .. après plusieurs tentatives…
la commande finale était:
ssh nouveau_nom@raspberrypi
Merci encore… Je continue!
Salut Benzo.. j’avance doucement … J’ai créé le nouveau username… et aussi un nouveau hostname…
1ere doute: quand je reboot je me trouve sur pi@nouveau_hostname.. je m’attendais a me trouver sur nouveau_username@nouveau_hostname.. c’est normale?
2eme.. bon, je fais ssh nouveau_name@nouveau_Hostname.. impec .. je rentre le passwd et je suis sur nouveau-username@nbouveau-hostname
je fais un sudo -i .. + passwd, ca marche je suis a root@nouveau_hostname
je fais userdel -r pi et j’ai le message:
« user pi is currently used by process 476 »..
1) Pourquoi au reboot je ne suis pas sur le nouveau_username@nouveau_hostname
2)si je n’arrive pas a deleter je pense que c’est du au point 1? Ou j’ai oublié quelque chose???…
Merci de ton aide
cool ty es presque ^_^
donc quand tes connecté en ssh nouveau_name@nouveau_hostname:
tu fais un :
kill -9 PID
( pid cest le numero du process, dans ton cas c’était 476 mais il peut avoir changé entre temps)
Puis réessaye la commande de suppression de l’utilisateur pi mais avec l’option -f (force) :
userdel -rf pi
Benzo, Merci encore.. apres quelques « kill » et quelques « userdel » j’ai eu enfin le message:
userdel: user ‘pi’ does not exist!!!
je pense que maintenant c’est bon.
Bonne soiree
.. et pour completer le tout un petit:
sudo -i
usermod -a -G netdev nouveau-username
pour recupere la WIFI!
Merci, bien utile car pas forcément très clair sur la documentation officielle !
Je mets en favoris!
@+
Bonjour Benzo ,
merci pour ce tuto très bien expliquer j’ai pu changer username , je vais changer le port par défauts , je me sert de mon Raspberry pour du blocage de pub avec PIHOLE merci encore
@+++
@Patrick, voilà une très bonne raison d’utiliser un rpi. Ca me fait penser que je vais publier dans pas longtemps sur le blog, un article pour améliorer la « privacy » d’un pihole classique
bon tuto,seul petit soucis qui intervient du coup…
la commande « reboot » ne fonctionne plus
Failed to set wall message, ignoring: Interactive authentication required.
Failed to reboot system via logind: Interactive authentication required.
Failed to open initctl fifo: Permission denied
Failed to talk to init daemon
ok Vérifie bien que ton nouvel utilisateur appartient au groupe %sudo
Suivie a la lettre, c’est parfait, merci beaucoup !