Démarrer avec son Raspberry Pi

8 mai 2021

Voici les manipulations que nous réalisons lorsque nous mettons une nouvelle image sur un Raspberry Pi. Nous utilisons un ordinateur sous Linux, que nous appellerons Ordinateur et le Rapsberry Pi que nous appellerons raspberrypi.

 "Flasher" la carte mémoire

Téléchargeons la distribution Raspbian/RaspberryPi OS Lite. Vous pouvez la télécharger ici.

Extraire le fichier et le flasher vers la carte SD (toutes les données de la carte seront perdues). Pour cela, branchez la carte SD sur votre PC.

La commande sudo dmesg vous donne le nom que votre système attribue à la carte :

sudo dmesg [ 9667.333966] mmc0: new high speed SDHC card at address 1234 [ 9667.334257] mmcblk0: mmc0:1234 SA08G 7.29 GiB

Pour flasher l’image, utilisez la commande "dd". Soyez très prudent avec le paramètre "of=" car vous pouvez perdre toutes les données de n’importe quel disque connecté à votre ordinateur si vous entrez la mauvaise commande.

sudo dd if=/chemin/vers/mon/image/raspbian.img of=/dev/mmcblk0 status=progress

mmcblk0 est le nom que vous avez trouvé avec la commande dmesg.

Activez le ssh sur votre nouvelle image [1] :

Créer un fichier "ssh" même vide dans la partition "boot".

cd /media/$USER/boot touch ssh

 Configuration générale du système

C’est une procédure que je recommande à chaque nouvelle installation de Raspberry Pi.

Si besoin, trouver l’IP du Raspberry Pi :

Si vous avez un routeur performant, vous n’en avez pas besoin, vous pouvez utiliser "raspberrypi" à la place de son IP. Essayez ping raspberrypi.

ping raspberrypi poivron@Ordinateur:~$ ping raspberrypi PING raspberrypi (192.168.1.43) 56(84) bytes of data. 64 bytes from raspberrypi (192.168.1.43): icmp_seq=1 ttl=64 time=1.44 ms 64 bytes from raspberrypi (192.168.1.43): icmp_seq=2 ttl=64 time=0.826 ms

Pour arrêter la commande "ping", utilisez la combinaison de touches : CTRL+C.
Si vous obtenez un temps de réponse, c’est que tout va bien.

Sinon, vous pouvez soit vous connecter sur le routeur pour avoir la liste des machines sur le réseau, soit utiliser nmap :

nmap -sn 192.168.1.0/24 poivron@Ordinateur:~$ nmap -sn 192.168.1.0/24 Starting Nmap 7.70 ( https://nmap.org ) at 2021-05-01 18:13 CEST ... Nmap scan report for raspberrypi (192.168.1.43) Host is up (0.0011s latency). ... Nmap done: 256 IP addresses (5 hosts up) scanned in 6.49 seconds

Dans la suite de l’article, dans un souci de lisibilité, nous utiliserons le nom de la machine et non l’IP. Utilisez l’IP si votre routeur est capricieux.

Connexion au raspberrypi :

ssh pi@raspberrypi poivron@Ordinateur:~$ ssh pi@raspberrypi

Si ce n’est pas votre premier raspberrypi, vous pouvez avoir ce message :

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the ECDSA key sent by the remote host is SHA256:2KydhpF6eoYjO/QybMCu+ZT/D4K0AHZom6UPhgufS7c. Please contact your system administrator. Add correct host key in /home/poivron/.ssh/known_hosts to get rid of this message. Offending ECDSA key in /home/poivron/.ssh/known_hosts:39 remove with: ssh-keygen -f "/home/poivron/.ssh/known_hosts" -R "raspberrypi" ECDSA host key for raspberrypi has changed and you have requested strict checking. Host key verification failed.

Dans ce cas, suivez l’instruction, exécutez :

ssh-keygen -f "/home/poivron/.ssh/known_hosts" -R "raspberrypi" poivron@Ordinateur:~$ ssh-keygen -f "/home/poivron/.ssh/known_hosts" -R "raspberrypi" # Host raspberrypi found: line 39 /home/poivron/.ssh/known_hosts updated. Original contents retained as /home/samuel/.ssh/known_hosts.old

Vous entrez ensuite le mot de passe par défaut : raspberry
Et vous arrivez sur l’invite de commande.

pi@raspberrypi:~ $

Pour des raisons de sécurité et de praticité, je conseille de créer un nouvel utilisateur, le même que celui sur votre ordinateur. Et de désactiver l’utilisateur "pi".

Création de l’utilisateur :

sudo adduser poivron pi@raspberrypi:~ $ sudo adduser poivron Adding user poivron' ... Adding new grouppoivron' (1001) ... Adding new user poivron' (1001) with grouppoivron' ... Creating home directory /home/poivron' ... Copying files from/etc/skel' ... New password: Retype new password: passwd: password updated successfully Changing the user information for poivron Enter the new value, or press ENTER for the default Full Name []: <ENTRÉE> Room Number []: <ENTRÉE> Work Phone []: <ENTRÉE> Home Phone []: <ENTRÉE> Other []: <ENTRÉE> Is the information correct? [Y/n] <ENTRÉE>

Ajout au groupe des "sudoers" :

sudo addgroup poivron sudo pi@raspberrypi:~ $ sudo addgroup poivron sudo Adding user poivron' to groupsudo' ... Adding user poivron to group sudo Done.

Les "sudoers" sont les utilisateurs qui ont le droit d’utiliser la commande sudo, leur donnant les droits d’un administrateur. Sur une distribution de type "Debian" (comme raspbian), tous les membres du groupe "sudo" peuvent utiliser sudo sur toutes les commandes.

Vérification que tout s’est bien passé, on se déconnecte et on se reconnecte avec le nouveau compte :

pi@raspberrypi:~ $ logout Connection to raspberrypi closed. poivron@Ordinateur:~$ ssh raspberrypi poivron@raspberrypi's password:

Remarquons que nous n’avons plus besoin de préciser l’utilisateur, ssh reprend l’utilisateur courant pour ouvrir la connexion distante.

Vous obtenez le message d’accueil :

Linux raspberrypi 5.10.17+ #1403 Mon Feb 22 11:26:13 GMT 2021 armv6l The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. SSH is enabled and the default password for the 'pi' user has not been changed. This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password. poivron@raspberrypi:~ $

Si c’est ce que vous obtenez, vérifiez que vous avez le droit d’utiliser "sudo".

sudo echo "coucou" poivron@raspberrypi:~ $ sudo echo "coucou" We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility. [sudo] password for poivron: coucou

Si vous affichez bien "coucou", alors votre utilisateur est bien configuré.

 Désactivation de l’utilisateur "pi"

sudo deluser pi poivron@raspberrypi:~ $ sudo deluser pi Removing user pi' ... Warning: grouppi' has no more members. Done.

 Se connecter en ssh par clé

Sur votre ordinateur, générer une clé :

ssh-keygen -t rsa -b 4096

Copier la clé publique sur le raspberrypi. A partir de votre ordinateur :

scp .ssh/id_rsa.pub poivron@raspberrypi:~/ poivron@Ordinateur:~$ scp .ssh/id_rsa.pub poivron@raspberrypi:~/ poivron@raspberrypi's password: id_rsa.pub

Puis, connectez-vous au raspberrypi, créez le répertoire /home/poivron/.ssh, puis ajoutez le contenu de id_rsa.pub (votre clé publique) au fichier authorized_keys.

poivron@Ordinateur:~$ ssh raspberrypi poivron@raspberrypi:~$ mkdir .ssh poivron@raspberrypi:~$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys poivron@raspberrypi:~$ logout

Reconnectez vous encore une fois au raspberrypi

poivron@Ordinateur:~$ ssh raspberrypi

Si vous avez protégé votre clé par un mot de passe, le système va vous demander de l’entrer, une seule fois par session.

Vous pouvez vous déconnecter du raspberrypi, vous reconnecter et vérifier qu’aucun mot de passe ne vous est demandé.

Bien, les choses sérieuses peuvent commencer.


Commentaires

Il n'y a pas de commentaires

Ajouter un commentaire

Pseudo :
Mail :

Texte :

Copyright "POIVRON" 2011-2023, tous droits réservés
Administration du site