Raspberry Pi : comment l'installer sans écran simplement, avec Wi-Fi et SSH

Mais pas sans les mains 65
Accès libre
image dediée
Ordinateur Fixe TUTO
David Legrand

Vous êtes tenté par l'utilisation d'un Raspberry Pi mais n'avez jamais osé sauter le pas, pensant que son installation est compliquée ? On vous prouve le contraire en vous simplifiant la tâche (même depuis Windows) !

Les Micro PC tels que le Raspberry Pi sont souvent perçus comme des choses étranges et complexes par le grand public. Pourtant, leur installation est assez simple, même lorsque l'on veut s'en servir comme d'un serveur, sans avoir à leur dédier un écran, un clavier ou une souris. 

Pour cela, il faut néanmoins connaître quelques astuces. Après vous avoir expliqué comment mettre en place la dernière version de la distribution officielle Raspbian, nous détaillerons comment activer directement le support de l'accès sécurisé à distance (SSH), du Wi-Fi. Nous vous expliquerons également comment créer une sauvegarde, créer un premier script python et mettre en place un petit serveur web.

Matériel et outils nécessaires

L'objectif de cette procédure d'installation est de n'avoir rien à relier à notre Raspberry Pi (écran, clavier, souris), excepté son alimentation. Il sera en effet contrôlé à distance, un peu à la manière d'un serveur commandé chez un hébergeur.

Nous utiliserons le protocole Secure Shell (SSH) qui fait désormais partie de Windows 10, comme sous Linux, via OpenSSH. Si jamais vous utilisez une ancienne version de Windows, optez pour un logiciel dédié comme Putty.

Pour le reste, vous devrez surtout disposer d'un ordinateur. Et contrairement à ce que l'on pourrait penser, l'utilisation d'une distribution Linux simplifie ici pas mal les choses.

Un réseau Wi-Fi devra également être mis en place, même si dans le cas d'un Raspberry Pi classique, une connection filaire (RJ45) peut suffir. Pour le reste, vous aurez besoin des composants suivants :

  • Un bloc d'alimentation Micro USB (voir les recommandations)
  • Un Raspberry Pi 3 Model B(+)ou Pi Zero W(H)
  • Un lecteur de carte MicroSD
  • Une carte MicroSD

Vous trouveez tous ces éléments chez des revendeurs comme Amazon, ou des boutiques spécialisées comme Kubii et Farnell. Notez que les anciennes versions du Raspberry Pi peuvent sans doute être utilisées avec cette méthode et une clé USB Wi-Fi, mais cela dépendra du modèle utilisé et l'installation pourra parfois être un peu plus complexe.

Téléchargement de Raspbian

Si vous n'avez procédé qu'à des installations de Windows, vous serez sans doute un peu dérouté. Il n'y a en effet pas de phase d'installation à proprement parler, ou de choix à effectuer : il suffit de transférer une image sur la carte MicroSD. 

Pour cela, vous devez d'abord la télécharger dans sa version classique si vous comptez utiliser le bureau, ou Lite pour une utilisation comme serveur. La première pèse 4,49 Go dans sa version actuelle (Juin 2018), contre 1,73 Go pour la seconde. Les URL des différents fichiers proposés sont permanentes, l'utilisation de BitTorrent est possible :

https://downloads.raspberrypi.org/raspbian_latest
https://downloads.raspberrypi.org/raspbian_lite_latest

https://downloads.raspberrypi.org/raspbian_latest.torrent
https://downloads.raspberrypi.org/raspbian_lite_latest.torrent

Dans l'idéal, pensez à vérifier l'empreinte SHA-256 fournie avec les fichiers. Pour cela, vous pouvez utiliser des outils comme QuickHash GUI ou encore notre application maison, CheckHash. Vous pouvez aussi plus simplement passer par la ligne de commande, sous Windows (via PowerShell) ou Linux :

Linux : sha256 Nom_du_fichier
Windows : Get-FileHash -Algorithm SHA256 Nom_du_fichier

Installation et activation de SSH

Pour le transfert de l'image sur la carte MicroSD, il y a plusieurs écoles. La fondation Raspberry Pi recommande la plus simple avec l'utilisation d'Etcher, un outil open source et mulltiplateforme, capable d'effectuer la procédure directement depuis le fichier compressé (.zip), mais qui est lourd (Electron oblige).

Dans la pratique, vous indiquez l'emplacement du fichier, celui de votre carte MicroSD, vous cliquez sur OK et c'est parti. Après une phase de décompression et de copie, une vérification sera effectuée.

Sous Windows, Win32DiskImager peut être utilisé comme une alternative plus légère. Open source, il n'est plus vraiment maintenu mais fait le job dans sa version 1.0. Sous Windows XP/Vista, la mouture 0.9 devra être utilisée. Là aussi il vous suffit de sélectionner un fichier image et l'emplacement de la carte MicroSD.

Etcher Win32DiskImager

Les adeptes de la ligne de commande sous Linux préfèreront une méthode plus directe, via dd

dd bs=4M if=raspbian-stretch.img of=/dev/sdX status=progress conv=fsync

Ici, if représente le fichier de l'image à transférer, et of l'emplacement de la carte MicroSD. Si vous ne connaissez pas ce dernier, vous pouvez le rechercher avec la commande lsblk

Il est également possible d'effectuer la phase de décompression et de transfert en une ligne avec le pipe suivant :

unzip -p raspbian-stretch.img | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync

Une fois l'image copiée sur la carte MicroSD, il faut activer le support de SSH dès le démarrage. Pour cela, rien de plus simple puisqu'il suffit de créer un fichier vide nommé « ssh » à la racine de la partition boot.

En ligne de commande cela peut se faire des deux manières suivantes :

touch ssh
echo > ssh

Votre Raspberry Pi est désormais prêt à démarrer. Placez la carte MicroSD dans le lecteur, connectez l'alimentation, et voilà. Seul, problème, il faut pouvoir y accéder. Vous pouvez le faire avec le trio classique – clavier, souris, écran – ou à distance en connectant un câble réseau relié à votre routeur.

Mais nous allons faire mieux que ça, et préconfigurer votre réseau Wi-Fi.

Intégration des paramètres Wi-Fi

Ici, on retrouve à peu près la même procédure, mais il faut cette fois placer du contenu dans le fichier wpa_supplicant.conf qui devra là encore être créé à la racine de la partition boot. Pour qu'il soit fonctionnel, il faut lui indiquer le pays dans lequel vous vous trouvez, le nom de votre réseau Wi-Fi (SSID) ainsi que son mot de passe, sous la forme suivante :

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=FR
network={
    ssid="votre-ssid"
    psk="votre-mot-de-passe"
}

Si vous préférez ne pas écrire votre mot de passe Wi-Fi en clair pour ce fichier, vous pouvez indiquer directement la Pre-Shared Key (PSK), elle ne sera alors plus indiquée entre guillemets.

Pour la calculer, on peut se servir d'un script proposé par certains sites, ou wpa_passphrase sous Linux. Il est possible de le faire via Ubuntu et le sous-système Linux de Windows 10, mais il faut alors installer le paquet wpasupplicant :

sudo apt install wpasupplicant

Le calcul de la Pre-Shared Key nécessite le SSID et le mot de passe, et vous donnera directement l'élément network à intégrer au fichier wpa_supplicant.conf :

:~$ wpa_passphrase mon_SSID mon_mot_de_passe

network={
        ssid="mon_SSID"
        #psk="mon_mot_de_passe"
        psk=9f49a3640bea256bb825fb73c1b64675a4631e20dfedb8e6be438e302198e30b
}

Vous pouvez retirer la ligne seconde ligne commentée (débutant par un #) et enregistrer le fichier. Placez ensuite la carte MicroSD dans votre Raspbery Pi, connectez-le à  son alimentation. Si vous n'avez pas fait d'erreur, il sera visible sur votre réseau local via le Wi-Fi au bout de quelques minutes.

Si vous voulez effectuer une configuration plus complexe, avec différents réseaux Wi-Fi par exemple, vous trouverez les ressources nécessaires dans cette page de la documentation officielle.

Notez que vous pouvez également éditer directement le fichier déjà présent sur la carte MicroSD :

/etc/wpa_supplicant/wpa_supplicant.conf

Les choses se corsent ici pour les adeptes de Windows. Il faut en effet pouvoir lire et écrire sur la partition principale (root), formatée en ext4. Pour cela il existe différentes solutions mais seul Linux File Systems for Windows de Paragon Software a fonctionné lors de nos tests sous Windows 10.

Ce logiciel peut être utilisé gratuitement à pleine vitesse pendant dix jours, puis à vitesse réduite (à moins de payer une licence de 19,95 euros), ce qui n'est pas très gênant pour notre besoin. Ext2 File System Driver (Extfsd) fonctionnera sur des versions antérieures de l'OS, mais semble toujours poser problème sous Windows 10.

Sous Linux, pas  de problème, tout sera géré nativement. Ainsi, utiliser un Live CD ou une machine virtuelle peut également être une solution simple à mettre en œuvre depuis Windows.

Se connecter à votre Raspberry Pi

En théorie, rien de plus simple.  Si vous êtes dans une situation parfaite (avec support du Multicast DNS), il vous suffira de taper la commande suivante sous Linux ou Windows 10 (April Update ou plus) :

ssh pi@raspberrypi.local

Elle permet de se connecter via SSH à votre Raspberry Pi en tant que l'utilisateur « pi », celui créé par défaut. Mais dans de nombreux cas, cela ne fonctionnera pas. Il vous faudra donc trouver l'IP de l'appareil, soit dans l'interface de votre routeur, ou via un outil comme nmap pour les amateurs de la ligne de commandes (à adapter selon votre réseau) :

nmap -sn 192.168.0.1/24

Vous  pouvez également utiliser le Pi Finder d'Adafruit, qui ne fonctionnera que si votre réseau comporte un seul Raspberry Pi. En effet, seul le premier sera trouvé. Autre solution : opter pour un scanner de réseau local comme Angry IP Scanner ou Fast IP Scan. De telles applications existent aussi sur Android et iOS. 

Cherchez alors un appareil connecté avec le port 22 ouvert, utilisé par défaut par SSH et le Raspberry Pi. Outre l'adresse IP, plusieurs paramètres par défaut sont à utiliser pour une connexion via ssh/Putty :

Nom d'hôte : pi@addresse_ip
Port : 22
Mot de passe : raspberry

Lors de votre première connexion sécurisée, il vous sera demandé de confirmer l'empreinte de la clé de chiffrement. Validez en tapant « yes ». Il faudra ensuite modifier le mot de passe utilisateur en tapant la commande passwd. Vous serez alors invité à taper le mot de passe actuel (raspberry) et deux fois celui par lequel vous voulez le remplacer. 

Mettez ensuite à jour les applications et le système d'exploitation en tant que super utilisateur (via la commande sudo), une opération qu'il faudra répéter de manière régulière, notamment pour éviter toute faille de sécurité. Vous pouvez également lancer l'assistant de configuration, permettant de régler le fuseau horaire, les langues, etc. :

sudo apt update && sudo apt dist-upgrade
sudo raspi-config

Des astuces complémentaires pour la sécurisation de votre Raspberry Pi sont précisées dans la documentation officielle.

Créer une sauvegarde de votre installation

Votre système est désormais installé, configuré et à jour. Autant profiter de cette étape cruciale pour effectuer une sauvegarde, sous forme d'une image, identique à celle téléchargée au départ.

Pour cela, débranchez votre Raspberry Pi après avoir tapé la commande suivante, puis retirez la carte MicroSD :

sudo halt

Une fois la carte connectée à votre ordinateur, vous pouvez utiliser l'outil Win32DiskImager sous Windows. Celui-ci propose une fonctionnalité Lire qui permet de créer une image vers le nom de fichier indiqué. De la même manière, sous Linux, l'outil dd peut être utilisée de manière inversée pour créer une image, en intervertissant les paramètres if et of :

dd bs=4M if=/dev/sdX of=sauvegarde_pi.img status=progress conv=fsync

Installation d'un serveur web et Hello, world !

Disposer d'un Raspberry Pi c'est bien, en faire quelque chose, c'est mieux. Comme évoqué dans un précédent article, les possibilités d'une telle machine sont très nombreuses. Nous vous en proposons deux.

La première consiste à créer votre premier script Python et à le lancer, celui-ci affichant le fameux « Hello, world » :

echo "print('Hello, World')" > hw.py && python hw.py

Et voilà ! La première partie de cette ligne de commande créé un fichier hw.py contenant le script affichant le message. La seconde (après le &&) exécute le script ainsi créé.

Passons maintenant à l'installation d'un serveur web, nginx. Elle tient en une ligne :

sudo apt install nginx

Une fois la procédure terminée, le serveur sera installé et lancé.  Si vous tapez l'adresse IP de votre Raspberry Pi dans un navigateur au sein d'une machine connectée à votre réseau local, vous verrez la page par défaut s'afficher. Pour la modifier, il faut tout d'abord s'approprier le répertoire contenant le site web par défaut, puis ajouter une page d'index :

sudo chown pi /var/www/html
sudo echo "<H1>Hello, World</H1>" > /var/www/html/index.html

L'installation sur une clé USB ou un disque dur externe

Depuis avril 2017, l'utilisation d'un périphérique de stockage USB plutôt qu'une carte MicroSD a été largement simplifiée. C'est le mode de démarrage MSD (Mass Storage Device). Il n'est possible que sur les Raspberry Pi B 3(+).

Pour en profiter, il faut activer un bit OTP (One Time Programmable) du SoC. Cela nécessite qu'une distribution Raspbian soit fonctionnelle sur l'appareil concerné. L'activation passe par l'ajout d'une ligne au fichier de configuration présent sur la partition de boot : config.txt, qui peut se faire en une ligne de commande :

echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt

Il suffit ensuite de redémarrer le Raspberry Pi avec la commande : 

sudo reboot

Une fois de retour, le bit aura été modifié. La ligne ajoutée au fichier config.txt n'est plus nécessaire. Pour vérifier que tout s'est bien passé, tapez la commande suivante :

vcgencmd otp_dump | grep 17:

Si tout va bien, la valeur devrait être 17:3020000a, si rien n'a été changé, 17:1020000a sera renvoyé.

Une fois cette modification faite, votre Raspberry Pi sera capable de booter sur un périphérique de stockage USB. Comme évoqué dans notre précédent article, il faudra néanmoins veiller à ce que l'alimentation soit suffisante, ou à ce qu'une alimentation externe soit mise en place. De plus, certaines clés USB ne seront pas reconnues.

Concernant l'installation du système d'exploitation, il se fera de la même manière que pour une carte SD. Vous pouvez ainsi transférer une image via dd, Etcher ou Win32DiskImager. Une fois la procédure terminée et la configuration effectuée, votre Raspberry Pi pourra fonctionner avec un stockage externe, et sans doute un peu plus d'espace.


chargement
Chargement des commentaires...