Publié le 15 avril 2020 - par

A l’aide ! Au secours ! J’ai oublié mon mot de passe

Que celui à qui ça n’est jamais arrivé me jette la première bière ! On ressort une carte Raspberry Pi sous Raspbian qu’on n’a pas touchée depuis des mois. On l’alimente et… grand moment de solitude. Bon sang pourquoi j’ai changé le mot de passe et… qu’est ce que j’ai bien pu mettre à la place de pi, raspberry ? Pas de panique, on va s’en sortir 😉 

Réinitialiser le mot de passe perdu sur le Raspberry Pi

Bon, en fait ça ne devrait pas arriver, mais on en est tous là. On nous recommande de ne pas utiliser deux fois le même mot de passe, de ne pas faire de phrase, pas les prénoms, les dates de naissances… A moins d’avoir un gestionnaire de mots de passe, c’est souvent la galère.

Et là justement sur ce Raspberry Pi utilisé comme AP (Point d’accès WiFi) il n’était pas question de laisser les identifiants par défaut. Trop risqué sur une expo. Alors hop! un mot de passe à la con que même les zaqueurs Russes mettront 3 milliards d’années à trouver. Un pt’tit postit au cas où et ça roule.

Mouais mais quand tu ressors le Raspberry Pi des mois après tu t’aperçois que le postit, il a dû rester collé sur la table du stand quand tu as rangé le soir en vitesse. pfff

Bon, on pourrait refaire la carte mais c’est ballot, il y avait tout ce qu’il fallait sur celle là. Opération « Sauvetage » on va remettre tout ça d’aplomb !

Passer Raspbian en mono-utilisateur

Protection Linux

Une machine Linux est en général bien protégée contre les attaques. Après si votre mot de passe est azerty ou 123456, on ne peut plus rien pour vous 😀 
Malgré tout, quand on a un accès physique à une machine on peut toujours prendre la main dessus, d’une façon ou d’une autre. Pourquoi croyez vous que les salles serveur sont munies de système d’entrée par code ou par carte d’accès ? Si on peut accéder à un serveur physiquement, on peut prendre la main.

[stextbox id=’info’ caption=’Protection 100% sûre’]Pour qu’un ordinateur soit 100% protégé, posez le sur une table au milieu d’une pièce vide. Éteignez le et débranchez toutes les connecteurs de l’unité centrale. Si personne ne vole la machine vos données sont en sécurité[/stextbox]

Matériel nécessaire

Pour un accès physique au Raspberry Pi, il vous faudra :

  • Un ordinateur avec un lecteur de carte pour modifier la carte SD du Raspberry Pi
  • Un clavier + souris connecté au Raspberry Pi
  • Un écran connecté au Raspberry Pi

Modifier cmdline.txt

Éteignez le Raspberry Pi. Enlevez la carte micro SD du Raspberry Pi. Sur la machine possédant un lecteur de cartes SD, insérez la carte micro SD dans le lecteur. Ouvrez le fichier cmdline.txt qui est accessible sous Windows dans la partition /boot.

[stextbox id=’alert’ caption=’Sauvegardez le fichier’]Le fichier cmdline.txt est crucial pour le démarrage de Raspbian. S’il n’est pas conforme, Raspbian risque de ne plus démarrer. Je vous conseille d’en faire une sauvegarde avant toute modification pour être capable de revenir en arrière, si besoin.[/stextbox]

Ce fichier ne comporte et ne doit comporter q »une seule ligne qui contient toutes les commandes qui seront passées au noyau Linux au moment du démarrage. Les éditeurs classiques sous Windows (comme le bloc-note) ajoutent des caractères parasites qui vont perturber le lancement de Linux. Il est impératif d’utiliser un éditeur comme NotePad++ qui respecte le fichier et n’y ajoute pas de « cochonneries ».
NotePad++ est un éditeur de code source libre et gratuit (comme dans « parole libre » et aussi comme dans « bière gratuite ») qui supporte plusieurs langues. Il est conçu pour l’environnement MS Windows, son utilisation est régie par la licence GPL.

Ajoutez à la fin de la ligne : init=/bin/sh

Enregistrez le fichier et fermez NotePad++

Démarrage en mono-utilisateur

Replacez la carte micro SD dans le Raspberry Pi et mettez sous tension. Après l’écran coloré vous avez ceci à l’écran :

On a bien les 4 framboises pour les 4 cœurs (j’ai fait la manip sur un Raspberry Pi 4) et c’est /bin/sh qui a été lancé au démarrage. La machine n’a pas pu accéder aux tty (les terminaux) et elle passe en mode mono utilisateur.

C’est quoi, ce # ?

Si vous êtes néophyte en Linux, vous pouvez légitimement vous poser la question de la présence de ce # (non, ce n’est pas un Hashtag !) alors qu’habituellement c’est un $ qui figure sur la ligne de commande. Ce signe dièse signifie que vous accédez à la machine en tant que root, le super administrateur et… que vous avez tous les droits ! Au passage comme l’interpréteur sh a été lancé seul au démarrage, vous voici en clavier QWERTY. Il faudra y prendre garde en tapant commandes et mots de passe !

Modifier le mot de passe

Tapez passwd pi  (ah oui, on est en qwerty ! tapez plutôt pqsszd pi)  et suivez les instructions pour entrer un nouveau mot de passe (il faut le saisir 2 fois pour vérification et le mot de passe n’apparait pas pour des raisons de sécurité). Comme on est en QWERTY et qu’on ne voit pas ce qu’on tape apparaître sur l’écran, je vous conseille de choisir comme mot de passe pi ou toto dont les lettres ne changent pas quand on passe de QWERTY à AZERTY.

Il y a des (mal)chances que vous obteniez un message pas gentil, du genre

ou (à moitié) en français

Pas de bol, hein ! En fait en mono utilisateur le système de fichier est monté en mode lecture seule… essayez donc d’y écrire, tiens ! Alors que faire ? bin on va passer le système de fichier en mode lecture/écriture (rw in english)

tapez (attention on est toujours en QWERTY 😀 😀  )

Si la recherche des touches en QWERTY vous pose des soucis regardez par ici. Vous y trouverez les deux claviers, ça facilitera votre recherche.

Il n’y a plus qu’à rentrer le mot de passe que vous avez choisi comme indiqué précédemment :

Cette fois tout devrait bien se passer et le mot de passe est changé (updated successfully).

On va maintenant pouvoir arrêter le Raspberry Pi :

tapez sur la ligne de commande

le système s’arrête.

Débranchez le Raspberry Pi, sortez la carte micro SD.

Re-modifier cmdline.txt

Remettez la carte micro SD dans le lecteur de cartes sur le PC.
Vous pouvez (toujours avec NotePad++) retirer l’ajout (nit=/bin/sh) que vous avez fait en fin de ligne dans cmdline.txt ou tout simplement remettre le cmdline.txt d’origine que vous aviez pris la précaution de sauvegarder.

Redémarrer Raspbian

Remettez la carte micro SD dans le Raspberry Pi, mettez sous tension.

Au login tapez le nom d’utilisateur (pi par défaut si vous ne l’aviez pas changé) et le nouveau mot de passe (pi ou toto dans mon cas). Vous voici connecté au système d’exploitation de votre Raspberry Pi.

Dernière chose, on va remettre un « vrai » mot de passe :

puis entrez le mot de passe « définitif » (celui que vous n’oublierez pas cette fois, hein ?
Promis ?

Sources

 

À propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

35 réflexions au sujet de « A l’aide ! Au secours ! J’ai oublié mon mot de passe »

  1. Bud Spencer

    Juste pour info concernant ceci : »Les éditeurs classiques sous Windows (comme le bloc-note) ajoutent des caractères parasites … »
    L’os desktop le plus utilisé dans le monde est Windows 10 (>70% des os Windows (qui représentent >76% des os utilisés (Données Mars 2020)) et à titre d’info, depuis la version 1809 (Octobre 2018) le Notepad gère automatiquement les retours lr, cf et crlf et l’encodage d’origine du fichier .

    Répondre
  2. dyox

    Bonsoir François,

    La dernière fois où j’en ai eu besoin, j’ai utlisé la méthode de substitution.
    Par contre il faut accéder à la 2nd partion donc avec un linux natif ou alors un live CD | USB linux.

    On remplace / ajoute au fichier /etc/shadow

    pi:$6$1v7ih/Dwb/jLeK85$l9/CjEEMFQYmYBLyeFur.5Xv4qBg/evYVpjN9ZlQmTYzKHY3PSoVGDb0Pk35WfnCjNQ68EuHEgCrXFE8K0eY4/:18305:0:99999:7:::

    Le hashage correspond au mdp par défaut raspberry.

    Par contre je ne sais pas si c’est toujours d’actualité. A essayer

    Répondre
  3. Ping : A l’aide ! Au secours ! J’ai oublié mon mot de passe – Framboise 314, le Raspberry Pi à la sauce française…. – Jhc Info

  4. j2c

    J’utilise « souvent » cette méthode sur des machines sous linux;

    En modifiant la commande de démarrage sous lilo ou grub (quand ils ne sont pas protégés par un mot de passe);

    Merci pour cette astuce sous raspbian; Car le lanceur est un peu particulier sur cette carte;

    Je garde ma bière, car j’ai déjà perdu les identifiants d’une carte;. et j’en ai chié pour les retrouver;.
    La dernière en date, c’est un collègue qui me demande d’intervenir sur un raspi qui sert pour faire la supervision;. et le mot de passe;. je peux m’assoir dessus pour l’avoir 😉

    Astuce rapide 😉 et efficace.

    Répondre
  5. Jere

    Bonsoir,

    Merci pour l’astuce. Mais j’ai une question (je n’ai pas de raspi) : quid si la partition /home est chiffrée (si il y a bien plusieurs partition comme sous os linux). Ou alors si la seule partition est chiffrée.

    Cette astuce pour modifier le mot de passe ne remet elle pas en causse le chiffrement de partition ??

    Par avance merci.

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour
      je ne sais pas ! il faudrait faire une carte de test (pas trop le temps en ce moment)
      mais si le chiffrement repose sur le MDP j’ai bien peur que ça soit mort 🙁
      Ce tuto s’adresse plutôt à des débutants qui en général utilisent les fonctions basiques de Raspbian et ne cgiffrent pas les données…
      A mon avis quand on en arrive là… on n’oublie pas ses mots de passe (ou alors faut changer de métier 😀 )
      cdt
      francois

      Répondre
  6. Jere

    Merci pour votre retour. Je suis novice sur Linux.
    J’avais lu un article sur une méthode similaire pour un os linux et de memoire la partition chiffrée etait perdue (car la signature du chiffrelent ne correspondait pas la la signature du nouveau mot de passe, un truc du genre). D’un côté c’est rassurant.
    Ca doit etre pareil poir raspi.

    Merci pour ton site

    Répondre
  7. Gordon

    Salut à tous.

    Si c’est pour modifier le mot de passe du compte pi, il n’est pas nécssaire de faire tout cela.
    Il suffit de taper : sudo passwd pi

    Par contre, oui, il est nécssaire de suivre cette procédure pour le compte « root ».

    Suite à la remarque de dyox, il n’est pas nécssaire d’insérer dans le fichier « /etc/shadow », le mot de passe hashé.
    Il suffit dans le fichier « /etc/passwd » à la ligne du compte root, de supprimer le « * » en deuxième position.
    Ce « * » signifie qu’il y a un mot de passe pour le compte root, et celui-ci est rensigné dans le fichier « /etc/shadow ».
    C’est cette procédure que j’utilise pour remettre un mot de passe en cas d’oublie.

    Par cette manipulation, il n’y a plus de mot de passe.
    Pour en mettre un nouveau, il suffit de taper « sudo -s » puis après « passwd » et de le saisir deux fois.

    @+

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour Gordon
      mais… si on n’a pas le mot de passe de pi (on l’a oublié) pour pouvoir taper
      sudo passwd pi
      il faut avoir ouvert une session… mais on ne peut pas …
      ??
      cdt
      françois

      Répondre
  8. Gordon

    Salut François.

    En principe, on a deux comptes dans la raspberry, root qui est l’administrateur et pi l’utilisateur.
    Le compte root doit resté accessible, quelque soit la bidouille que l’on fait dans pi.
    Si le compte root est disponible, on peut facilement modifier le mot de passe du compte pi.
    Inversement, pas de compte root disponible, pas de modification possible.

    Dans mon cas, j’accède aussi bien au compte root qu’au compte pi en ssh ou en accès direct avec clavier + écran.
    Il m’est arrivé, suite à une mauvaise manipulation de ne plus pouvoir accéder au compte pi.
    Heureusement que j’ai encore l’accès à root.

    Cordialement.
    @+

    Répondre
  9. Maxime

    Bonjour

    Merci pour cet article qui va très clairement mettre utile.
    J’ai 2RPI4, 2RPI3, 3RPI0 et 1RPI3 au boulot donc forcement un jour ça va me tomber dessus ^^

    Répondre
  10. Antoine Turmel

    J’ai fait de manière plus simple au final :
    en accédant à ma carte sd, j’ai rajouté ma clé ssh dans .ssh/authorized_key
    connexion en ssh à mon raspberry pi
    sudo -i
    puis passwd pi

    Merci quand même pour la méthode 🙂

    Répondre
  11. Preskovitch

    Bonjour François et merci pour ce tuto. J’ai suivi le début du process. J’utilise Notepad (celui de Windows) pour modifier le fichier mais malgré plusieurs tentatives, le lancement reste figé sur l’écran coloré.

    J’avoue ne pas comprendre ou je peux faire l’erreur.

    Merci du retour

    Répondre
    1. François MOCQ Auteur de l’article

      bonjour
      difficile de répondre sans avoir tous les éléments…
      Pourquoi avez vous suivi ce tuto ?
      Qu’est ce qui se passait avant les modifs ?
      Comme indiqué dans l’article, avez vous fait d’abord une sauvegarde du fichier ?
      Avez vous essayé de remettre le fichier sauvegardé, quel résultat…
      Etes vous certain que le fichier ne fait qu une ligne ? pas de retour chariot à la fin?

      Répondre
      1. BLIN

        Merci pour votre retour.
        J’ai suivi ce tuto car je dois faire des modifs sur mon RPI4 qui héberge Jeedom. Or impossible de retrouver le mot de passe que j’ai visiblement du changer lors de l’initialisation
        Avant la modif tout allait bien. Lorsque je resupprime l’ajout, tout refonctionne normalement.
        Quant à avoir la certitude de ne pas ajouté de ligne, j’ai essayé sous 2 éditeurs différents et fait le test à plusieurs reprises.

        Répondre
        1. François MOCQ Auteur de l’article

          Bonjour
          oui c est étonnant. je viens de refaire la manip sur un pi 400 et en ajoutant init=/bin/sh en fin de ligne je prends bien la main en ligne de commande…
          exemple de cmdline.txt sur Raspberry Pi
          est ce que dans NotePad++ vous avez bien ceci : une seule ligne bleue ?
          juste le chiffre 1 à gauche ? Pas de chiffre 2 !

          Répondre
            1. François MOCQ Auteur de l’article

              Ah!! si le « Notepad » dont vous parlez est le Bloc Note de Windows, c’est normal il rajoute des m… aux fichiers !!
              il faut Notepad++ surtout pas le Bloc Note
              C’est d’ailleurs clairement indiqué dans l’article : « Les éditeurs classiques sous Windows (comme le bloc-note) ajoutent des caractères parasites qui vont perturber le lancement de Linux. Il est impératif d’utiliser un éditeur comme NotePad++ qui respecte le fichier et n’y ajoute pas de « cochonneries ». »
              L’avez vous vu ???

              Répondre
  12. BLIN

    Merci François ! et bonne année 2022.

    Je viens seulement de me remettre sur mon problème…et oui Notepad semble être la source du problème.

    Maintenant voici ce que j’ai

    https://ibb.co/yp8mSn3

    … il me dit que le user pi n’existe pas.

    Merci

    Répondre
  13. Delacoste

    Bonjour et merci pour votre excellent tuto.

    Je suis néophyte et j’ai suivi à la lettre votre tuto.

    Mais quand je redémarre,  j’ai l’écran debian  et il me demande l’utilisateur et le nouveau mot de passe, je le renseigne et…il ne se passe rien. Aucun message d’erreur. Il me demande sans cesse l’utilisateur et le mot de passe et toujours rien.

     

    Merci pour votre aide

    Répondre
  14. Francky

    Bonjour, mon souci est un peu différent.

    Je ne me souvient plus de mon mot de passe pour accèder en ssh a mon raspberry (contenant jeedom) mais j’y ai toujours accès avec l’application winscp où j’ai enregistré mes accès (je doute fortement que mon mdp soit ******* (7 étoiles…)). Y’a t-il un moyen de recuperer plus simplement le mdp du coup ?

    merci

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour
      malheureusement le système ne stocke pas les mots de passe en clair
      ils sont stockés sous forme codée et non réversible
      regardez ici https://raspberrypi.stackexchange.com/questions/4409/how-do-i-change-recover-my-password
      la dernière réponse devrait vous aider

      I assume you have physical access to your SD.

      Create new password: openssl passwd -6 -salt salt hello-world

      You will receive something like: $6$salt$phlWRlSMVXZ1JJxGL/j5ANI.m8sbGpNT5pQE8iyx2TxYPKIZZhPM.eMN0axmoRHY3CrZU2KeyhTOcjBkKeD.N/

      Edit /etc/shadow on your Pi’s SD’s root partition and replace the encrypted password with newly generated or edit /etc/rc.local and say « echo ‘pi:password’ | chpasswd » or « echo ‘pi:‘ | chpasswd -e »

      Attention avant de faire une modification dans un fichier faites en une sauvegarde pour pouvoir revenir en arrière si nécessaire.
      cdt
      francois

      Répondre
  15. castelaing

    Juste une petite erreur que j’ai pas fait attention en suivant l’aide que tu nous fais dans cette article.

    Quand on recrée un mot de passe ne pas oublier que le clavier reste en qwerty et qu’il y a toute les chances que à l’allumage le clavier soit détecter en azerty ….

    Donc un mot de passe simple sans les lettres qui ne sont pas à la même place entre les deux claviers. Toto proposé dans l’exemple est parfait par exemple !

     

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour
      Merci oui, c’est précisé dans la rubrique « Modifier le mot de passe » :
      « Tapez passwd pi (ah oui, on est en qwerty ! tapez plutôt pqsszd pi) et suivez les instructions pour entrer un nouveau mot de passe (il faut le saisir 2 fois pour vérification et le mot de passe n’apparait pas pour des raisons de sécurité). Comme on est en QWERTY et qu’on ne voit pas ce qu’on tape apparaître sur l’écran, je vous conseille de choisir comme mot de passe pi ou toto dont les lettres ne changent pas quand on passe de QWERTY à AZERTY.« 

      Répondre
  16. Alex

    Bonjour,

    A tout hasard, comment fait on lorque l’on n’a pas d’écran et de clavier à disposition ? Parce que cela nécessite des convertisseurs un peu spéciaux. On ne peut pas en effet brancher un simple cable HDMI et brancher sur le clavier USB directement sur le RPI.

    Est il possible à tout hasard de rattraper la gourde d’avoir perdu son mdp avec un accès physique au rpi mais uniquement à distance en SSH ?

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour
      malheureusement pour reprendre la main il faut le faire en « physique » donc se connecter au Raspberry Pi
      pas possible en SSH
      vous avez un Pi Zero ? vous parlez d’adaptateurs « spéciaux » mais en fait ils sont standard , mini ou micro HDMI, adaptateur micro USB… ça se trouve
      cdt
      francois

      Répondre
  17. sidforever

    bonjour,

    sur un pi400 avec raspbian buster 32bits suite a une maj vers bookworm 32 bits le user pi et root sont interdits d acces et la commande passwd en init=/bin/sh donne une erreur

    passwd : Authentication token manipulation error
    passwd : password unchanged meme avec un mount en rw a l ancienne voila j ai acces tout de emem a mes fichiers de /home/pi en commande rescue mais tout le system est figé en mode no login forever …

    J aurais du garder buster doggy dog bookworm rien que le nom sur mon raspbian sentait le sid broken … et je m’y connais dans le broken them HAL bref si quelqu un a une idée et non pas de « il faut refaire une image » on est sous linux et si c et devenu ca raspbian alors —> trash them all … bye and thanks

    Répondre
  18. Gordon

    Salut SidForever.

     

    Comment avez-vous votre migration vers BookWorm ? Votre connexion à vos comptes Root & Pi ont été fait avec Putty et avec écran+souris+clavier ?

    N’auriez-vous pas plutôt un problème de lecture de vos partitions ?

     

    @+

    Répondre
    1. sidforever

      bonjour gordon,

      la migration a été faite en cmd sous X du raspberry et a la fin il a bloqué le user pi deja sous l interface graphique et donc plus de root de ce fait également ce qui sur les nouvelles versions de raspi os serait devenu une mode de bloquer l autologin afin d etre plus « secure » bref le rw dont je parle est en mode sans echec du rasp pi ou je peux lire et ecrire de ce fait comme un sans echec normal de linux mais la commande passwd est elle en « authentification token error » a chaque fois et sudo ne fonctionne pas meme apres avoir forcé le sudoers avec un user pi all:all mon probleme reside dans l acces a la commande /usr/bin/passwd et ca n est pas une question de droits sur la commande car un root sous linux en mode sans echec et avec une racine / en rw est censé depuis la nuit des temps avoir tous les droits sauf que sous un raspberry le fait d avoir un user pi en mode sudo desactivé avec le apt suite a la maj a causé un système inutilisable donc je cherche le moyen de rétablir l autologin et rien de toutes les méthodes classique n ont abouties voilà le hic …

      Répondre

Laisser un commentaire

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

Complétez ce captcha SVP *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.