guide illustré pour l’installation d’un environnement d ... · guide raspberry pi ~ 12 ~...

18
~ 1 ~ Guide illustré pour l’installation d’un environnement d’apprentissage avec un Raspberry Pi Contenu Introduction .................................................................................................................... 3 Configurer votre environnement personnel ......................................................... 4 La carte Raspberry Pi 3 .................................................................................................................... 4 Installation du système d’exploitation Linux Raspbian Jessie Pixel ................................................ 4 Démarrer et se connecter à Internet .............................................................................................. 5 Pour arrêter le Raspberry Pi ............................................................................................................ 7 Bâtir votre réseau informatique personnel expérimental (RIPE) .................................................... 8 Accéder et exploiter le Raspberry Pi à partir de l’ordinateur sous Windows avec PuTTY et TeamViewer (sous le protocole SSH) .............................................................................................. 8 Activation et configuration du protocole SSH du Raspberry Pi ................................................... 9 Téléchargement et installation de TeamViewer Installation et lancement de PuTTY ............................................................................................... 13 Téléchargements ou téléversements sécuritaires de fichiers avec FileZilla Applications orientées services ................................................................................ 15 Création d’un programme du serveur Web sur l’ordinateur sous Windows ................................ 16 Création d’un programme du serveur Web sur l’ordinateur Raspberry Pi ................................... 17

Upload: others

Post on 08-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Guide illustré pour l’installation d’un environnement d ... · Guide Raspberry Pi ~ 12 ~ Figure 10 : Fenêtre de démarrage de TeamViewer . Au préalable, il nous a fallu obtenir

~ 1 ~

Guide illustré pour l’installation d’un environnement d’apprentissage avec un Raspberry Pi

Contenu

Introduction .................................................................................................................... 3

Configurer votre environnement personnel ......................................................... 4 La carte Raspberry Pi 3 .................................................................................................................... 4 Installation du système d’exploitation Linux Raspbian Jessie Pixel ................................................ 4 Démarrer et se connecter à Internet .............................................................................................. 5 Pour arrêter le Raspberry Pi ............................................................................................................ 7 Bâtir votre réseau informatique personnel expérimental (RIPE) .................................................... 8 Accéder et exploiter le Raspberry Pi à partir de l’ordinateur sous Windows avec PuTTY et

TeamViewer (sous le protocole SSH) .............................................................................................. 8 Activation et configuration du protocole SSH du Raspberry Pi ................................................... 9

Téléchargement et installation de TeamViewer Installation et lancement de PuTTY ............................................................................................... 13 Téléchargements ou téléversements sécuritaires de fichiers avec FileZilla

Applications orientées services ................................................................................ 15 Création d’un programme du serveur Web sur l’ordinateur sous Windows ................................ 16 Création d’un programme du serveur Web sur l’ordinateur Raspberry Pi ................................... 17

Page 2: Guide illustré pour l’installation d’un environnement d ... · Guide Raspberry Pi ~ 12 ~ Figure 10 : Fenêtre de démarrage de TeamViewer . Au préalable, il nous a fallu obtenir

INF 1165 – Guide Raspberry Pi

~ 2 ~

Liste des figures

Figure 1 : La carte du Raspberry Pi 3 ............................................................................................... 4 Figure 2 : Fenêtre Win32 Disk Imager ............................................................................................. 5 Figure 3 : Connexions (câblage du Raspberry Pi) ............................................................................ 6 Figure 4 : Interface (écran de démarrage) de la distribution Linux Jessie Pixel .............................. 7 Figure 5 : Réponse du Raspberry Pi à une commande ping ............................................................ 8 Figure 6 : Fenêtre de configuration du Raspberry Pi ....................................................................... 9 Figure 7 : « P2 » sous « Interfacing Options » (activer ou désactiver le protocole SSH) ............... 10 Figure 8 : Demande de confirmation du choix « P2 » pour activer le protocole SSH ................... 10 Figure 9 : Confirmation de l’activation du protocole SSH ............................................................. 11 Figure 10 : Fenêtre de démarrage de TeamViewer ....................................................................... 12 Figure 11 : Écran du Raspberry Pi dans l’environnement TeamViewer de l’ordinateur ............... 13 Figure 12 : Terminal du Raspberry émulé dans l’environnement Windows ................................. 14 Figure 13 : Fenêtre de téléchargement ou téléversement sous FileZilla avec SFTP ..................... 15 Figure 14 : Option d’installation par défaut de Node.js ................................................................ 16 Figure 15 : Programme serveur « Hello World » écrit en JavaScript............................................. 16 Figure 16 : Résultat de l’application serveur Web sur l’ordinateur sous Windows ...................... 17 Figure 17 : Lignes de commandes pour l’installation du « node.Js » sur le Raspberry ................. 17 Figure 18 : Serveur du Raspberry en bon état de marche ............................................................ 18

Page 3: Guide illustré pour l’installation d’un environnement d ... · Guide Raspberry Pi ~ 12 ~ Figure 10 : Fenêtre de démarrage de TeamViewer . Au préalable, il nous a fallu obtenir

INF 1165 – Guide Raspberry Pi

~ 3 ~

INTRODUCTION Ce guide est conçu pour vous aider à installer, à configurer et à exploiter un environnement d’apprentissage informatisé avec un micro-ordinateur Raspberry Pi. Composé d’un ensemble de capsules techniques illustrées, vous aurez à vous familiariser aux possibilités offertes par le micro-ordinateur Raspberry Pi pour l’apprentissage de la sécurité des réseaux informatiques ainsi que pour celui des langages informatiques tels que C/C++, Ruby, Java Script, Perl, Python, etc.

Dans ce document, l’accent est mis sur l’exploitation du Raspberry Pi pour la construction graduelle d’un réseau informatique personnel expérimental (RIPE) servant à l’apprentissage de la sécurité informatique.

Utiliser un ordinateur Raspberry Pi implique des connaissances de base du système d’exploitation Linux. Pour accompagner ce document, un autre guide illustré sert à l’apprentissage de base du système d’exploitation Linux.

Le mini-réseau informatique que nous vous proposons de monter graduellement et d’exploiter est relativement simple et très peu dispendieux. Au point de vue matériel, il est constitué de votre ordinateur personnel, d’un routeur (celui que vous possédez déjà et qui vous permet d’accéder à Internet), et du Raspberry Pi que vous doterez graduellement de logiciels libres appropriés pour l’apprentissage de la sécurité informatique.

Dans ce document, nous indiquons les adresses IP des appareils utilisés. Ces adresses seront certainement différentes dans votre cas :

• Le Raspberry Pi (adresse IP pour le réseau local : 169.254.184.140, masque : 255.255.0.0. Cette adresse est fournie par un serveur DHCP).

• Le routeur connecté à Internet avec des ports Ethernet pour le réseau filaire local et une liaison sans fil de type Wi-Fi.

• L’ordinateur sous le système d’exploitation Windows (une configuration avec un ordinateur Mac est aussi possible). L’ordinateur que nous avons utilisé tout au long de la conception et de la rédaction de ce guide possède une adresse IP du réseau local filaire fixe : 169.254.107.119, un masque réseau : 255.255.0.0. Ces adresses sont fournies par un serveur DHCP.

Ces adresses Internet sont nécessaires pour télécharger les programmes qui seront utilisés pendant le cours. Prenez les vôtres en note.

Page 4: Guide illustré pour l’installation d’un environnement d ... · Guide Raspberry Pi ~ 12 ~ Figure 10 : Fenêtre de démarrage de TeamViewer . Au préalable, il nous a fallu obtenir

INF 1165 – Guide Raspberry Pi

~ 4 ~

CONFIGURER VOTRE ENVIRONNEMENT PERSONNEL

La carte Raspberry Pi 3

Figure 1 : La carte du Raspberry Pi 3

Installation du système d’exploitation Linux Raspbian Jessie Pixel Pour installer le système d’exploitation Linux Raspbian Jessie Pixel à partir d’un ordinateur possédant un système d’exploitation Windows :

• Téléchargez le fichier « Raspbian Jessie with Pixel » à partir du site Web Raspberry (https://www.raspberrypi.org/downloads/raspbian/) et décompressez le fichier.

• Téléchargez et installez le fichier « Win32 Disk Imager » à partir du site Web SourceFourge (https://sourceforge.net/projects/win32diskimager/).

• Insérez la carte mémoire SD dans le lecteur de cartes mémoire SD de votre ordinateur ou d’un adaptateur externe.

• Démarrez « Win32 Disk Imager » avec les droits d’administrateur (cliquez droit > Run as Administrator > Yes).

• Sous le champ « Image File », choisissez le fichier « .img file » décompressé en 1.

Sous « Device », choisissez votre carte SD (voir • Figure 2).

Page 5: Guide illustré pour l’installation d’un environnement d ... · Guide Raspberry Pi ~ 12 ~ Figure 10 : Fenêtre de démarrage de TeamViewer . Au préalable, il nous a fallu obtenir

INF 1165 – Guide Raspberry Pi

~ 5 ~

Figure 2 : Fenêtre Win32 Disk Imager

• Cliquez sur « Write » et, après lecture, acceptez les conditions de la licence d’utilisation du logiciel.

• Après l’affichage du message « Write Successful », fermez « Win32 Disk Imager » et éjectez la carte mémoire SD.

• Retirez la carte SD de son adaptateur et insérez-la dans le connecteur approprié de la carte de base du Raspberry Pi.

Démarrer et se connecter à Internet Étapes :

• Connectez la souris, le clavier et le câble HDMI (ou l’adaptateur) de l’écran à la carte Raspberry Pi tel qu’il est illustré à la Figure 3.

Page 6: Guide illustré pour l’installation d’un environnement d ... · Guide Raspberry Pi ~ 12 ~ Figure 10 : Fenêtre de démarrage de TeamViewer . Au préalable, il nous a fallu obtenir

INF 1165 – Guide Raspberry Pi

~ 6 ~

Figure 3 : Connexions (câblage du Raspberry Pi)

• Connectez l’alimentation. La carte Raspberry Pi sera mise sous tension et commencera la séquence d’initialisation que vous observerez sur l’écran connecté au Raspberry Pi.

• À la fin de l’initialisation, vous pourrez accéder à l’interface de Linux Pixel.

Page 7: Guide illustré pour l’installation d’un environnement d ... · Guide Raspberry Pi ~ 12 ~ Figure 10 : Fenêtre de démarrage de TeamViewer . Au préalable, il nous a fallu obtenir

INF 1165 – Guide Raspberry Pi

~ 7 ~

Figure 4 : Interface (écran de démarrage) de la distribution Linux Jessie Pixel

• Après avoir appuyé sur l’icône Raspberry Pi du haut à gauche, le menu des programmes disponibles s’affiche, ainsi que les raccourcis préinstallés tels que ceux pour le navigateur (Chromium), le gestionnaire de fichiers et les terminaux, entre autres. (Nous installerons ultérieurement, au besoin, d’autres programmes ou applications.)

• De même, en haut à droite, s’affichent l’heure, les icônes pour l’audio, le Bluetooth ainsi que ceux des réseaux filaires et sans fil habituels. En cliquant sur l’icône du réseau, on se connecte à Internet soit par câble Ethernet, soit par le réseau Wi-Fi. Le Raspberry Pi 3 possède déjà une connectivité intégrée; pour les versions antérieures du Raspberry, telles que le P2, il faudra utiliser un adaptateur USB Wi-Fi (Wi-Fi Dongle).

Pour arrêter le Raspberry Pi • Cliquez sur l’icône Raspberry en haut à gauche de l’écran. • Cliquez sur « Shutdown ». • Attendez que la lumière verte sur la carte du Raspberry cesse de clignoter. • Débranchez l’alimentation du Raspberry Pi.

Note importante Il est possible qu’après un arrêt, le Raspberry Pi ne puisse redémarrer. L’une des causes peut provenir de l’adaptateur HDMI du moniteur; assurez-vous que vous en avez un adéquat et en bon état de marche.

Page 8: Guide illustré pour l’installation d’un environnement d ... · Guide Raspberry Pi ~ 12 ~ Figure 10 : Fenêtre de démarrage de TeamViewer . Au préalable, il nous a fallu obtenir

INF 1165 – Guide Raspberry Pi

~ 8 ~

Bâtir votre réseau informatique personnel expérimental (RIPE) Étapes :

• Connectez un câble réseau Ethernet entre un port RJ45 de votre ordinateur et celui d’un routeur.

• Connectez ensuite votre Raspberry Pi 3 à ce même routeur. • Dans notre exemple, l’adresse IP du Raspberry Pi 3 est 169.254.184.140. Dès que ces

liaisons physiques sont effectuées, il est possible d’obtenir une réponse du Raspberry, à partir de notre ordinateur, avec la commande : « C:\Users\invite\> ping 169.254.184.140 ».

Figure 5 : Réponse du Raspberry Pi à une commande ping

Accéder et exploiter le Raspberry Pi à partir de l’ordinateur sous Windows avec PuTTY et TeamViewer (sous le protocole SSH) (Texte inspiré de : http://the-raspberry.com/ssh-raspberry-pi)

Secure Shell (SSH) est un protocole de communication sécurisé qui vous permet d’ouvrir une session de terminal (une fenêtre) du Raspberry Pi dans votre ordinateur à la suite de l’exécution d’une commande d’un ordinateur hôte (dans notre cas, l’ordinateur sous Windows). L’ordinateur hôte peut être soit sous les systèmes d’exploitation Windows, Linux ou Mac OS.

L’une des principales raisons de vouloir accéder et exploiter à distance le Raspberry Pi à partir d’un autre ordinateur est essentiellement pour ne pas dupliquer certains périphériques, tels que le clavier, la souris ou un écran (moniteur). Le SSH, une fois activé et convenablement configuré, permet d’utiliser uniquement l’ordinateur hôte pour exploiter toutes les ressources du Raspberry Pi.

Page 9: Guide illustré pour l’installation d’un environnement d ... · Guide Raspberry Pi ~ 12 ~ Figure 10 : Fenêtre de démarrage de TeamViewer . Au préalable, il nous a fallu obtenir

INF 1165 – Guide Raspberry Pi

~ 9 ~

Activation et configuration du protocole SSH du Raspberry Pi Pour utiliser le protocole SSH, vous devez d’abord l’activer. Cette activation se fait à l’aide de la commande « raspi-config ».

• Ouvrez le terminal du Raspberry Pi et entrez la commande Linux « sudo raspi-config ».

pi@raspberrypi:~$ sudo raspi-config (Le « sudo » qui précède est pour demander l’exécution de la commande en tant que super utilisateur [Super User Do]).

On obtient le menu de configuration du Raspberry Pi suivant :

Figure 6 : Fenêtre de configuration du Raspberry Pi

• Choisissez l’option 5 « Interfacing Options » qui affiche une nouvelle fenêtre permettant de choisir et de configurer les types de connexions (périphériques et protocoles) aux (Figure 7).

Page 10: Guide illustré pour l’installation d’un environnement d ... · Guide Raspberry Pi ~ 12 ~ Figure 10 : Fenêtre de démarrage de TeamViewer . Au préalable, il nous a fallu obtenir

INF 1165 – Guide Raspberry Pi

~ 10 ~

Figure 7 : « P2 » sous « Interfacing Options » (activer ou désactiver le protocole SSH)

• Choisissez ensuite « P2 » pour activer (Enable) le protocole SSH. • Confirmez votre choix.

Figure 8 : Demande de confirmation du choix « P2 » pour activer le protocole SSH

Page 11: Guide illustré pour l’installation d’un environnement d ... · Guide Raspberry Pi ~ 12 ~ Figure 10 : Fenêtre de démarrage de TeamViewer . Au préalable, il nous a fallu obtenir

INF 1165 – Guide Raspberry Pi

~ 11 ~

Figure 9 : Confirmation de l’activation du protocole SSH

Téléchargement et installation de TeamViewer TeamViewer est un logiciel de télécollaboration qui vous sera utile dans le cadre de votre apprentissage. La version TeamViewer pour Windows est v12.0.72365 et est obtenue à partir de l’adresse : https://www.teamviewer.com/fr/download/windows.

• Téléchargez ce logiciel et installez-le sur votre ordinateur. • À la fin de l’installation, TeamViewer est lancé et affiche votre numéro d’identification

(« Votre ID »), votre mot de passe (« Mot de passe ») ainsi qu’une fenêtre vous permettant de saisir l’identification du partenaire avec lequel vous interagirez (voir Figure 10).

Page 12: Guide illustré pour l’installation d’un environnement d ... · Guide Raspberry Pi ~ 12 ~ Figure 10 : Fenêtre de démarrage de TeamViewer . Au préalable, il nous a fallu obtenir

INF 1165 – Guide Raspberry Pi

~ 12 ~

Figure 10 : Fenêtre de démarrage de TeamViewer

Au préalable, il nous a fallu obtenir l’identité du partenaire, celle du Raspberry Pi. Cette identité est obtenue automatiquement à la suite de l’installation sur votre ordinateur de l’hôte « Hôte TeamViewer for Raspberry Pi ».

• Téléchargez et installez cet hôte à partir de l’adresse : https://www.teamviewer.com/fr/download/linux

Une fois les informations pertinentes saisies sur le Raspberry et votre ordinateur, la connexion s’établit et permet à l’un ou à l’autre de prendre le contrôle ou de se laisser contrôler.

La Figure 11 nous montre l’écran du Raspberry Pi dans l’environnement TeamViewer de l’ordinateur sous Windows :

Page 13: Guide illustré pour l’installation d’un environnement d ... · Guide Raspberry Pi ~ 12 ~ Figure 10 : Fenêtre de démarrage de TeamViewer . Au préalable, il nous a fallu obtenir

INF 1165 – Guide Raspberry Pi

~ 13 ~

Figure 11 : Écran du Raspberry Pi dans l’environnement TeamViewer de l’ordinateur

Installation et lancement de PuTTY Le logiciel PuTTY est un émulateur de terminal qui joue le rôle de client SSH, Telnet ou rlogin. Plusieurs variantes de ce logiciel libre existent. Nous utiliserons la version Windows pour certaines activités d’apprentissage.

• À partir de l’adresse http://www.putty.org/, téléchargez et exécutez « putty.exe » sur votre ordinateur.

• Saisissez, dans le champ « Host name (or IP Address) », l’adresse IP (160.254.184.140) du Raspberry. La Figure 12 représente le terminal émulé du Raspberry dans l’environnement Windows.

Page 14: Guide illustré pour l’installation d’un environnement d ... · Guide Raspberry Pi ~ 12 ~ Figure 10 : Fenêtre de démarrage de TeamViewer . Au préalable, il nous a fallu obtenir

INF 1165 – Guide Raspberry Pi

~ 14 ~

Figure 12 : Terminal du Raspberry émulé dans l’environnement Windows

Téléchargements ou téléversements sécuritaires de fichiers avec FileZilla Le logiciel FileZilla utilise le protocole SFTP (Secure File Transfer Protocol) pour télécharger ou téléverser des fichiers entre l’ordinateur sous Windows et le Raspberry. Pour cela, FileZilla agit comme client sur l’ordinateur et SSH devra déjà être installé sur Raspberry Pi.

• Téléchargez et installez le client FileZilla à partir de l’adresse suivante : https://filezilla-project.org/download.php).

Une fois l’installation réussie, l’image de la Figure 13 s’affiche. Dans notre cas, les paramètres de configuration sont :

1. Adresse de l’hôte (adresse IP du Raspberry Pi) : 160.254.184.140 2. L’identifiant de l’usager sur le Raspberry : pi 3. Le mot de passe : Raspberry 4. Le port ouvert pour le transfert : 22

Page 15: Guide illustré pour l’installation d’un environnement d ... · Guide Raspberry Pi ~ 12 ~ Figure 10 : Fenêtre de démarrage de TeamViewer . Au préalable, il nous a fallu obtenir

INF 1165 – Guide Raspberry Pi

~ 15 ~

Figure 13 : Fenêtre de téléchargement ou téléversement sous FileZilla avec SFTP

APPLICATIONS ORIENTÉES SERVICES (Source : https://www.tutorialspoint.com/nodejs/index.htm)

Node.js est un langage de développement d’applications de type JavaScript basé sur un noyau de Google Chrome’s JavaScript V8. Cette plateforme est utilisée pour développer des applications Web ayant un flux intense d’entrées et de sorties, telles que celles des sites de diffusion vidéo en continu.

Nous allons créer un site Web avec JavaScript sur l’ordinateur Windows et ensuite sur le Raspberry (accessible de l’ordinateur sous Windows). Ces applications nous serviront de cibles pour des expérimentations en sécurité d’applications orientées service Web.

• Dans un premier temps, téléchargez le fichier « node.sj » sur les deux ordinateurs à partir du site : https://nodejs.org/en/.

• Lors de l’installation, choisissez la configuration par défaut (Custom setup) (voir Figure 14).

• Appuyez sur « Next » pour poursuivre les différentes étapes de l’installation.

Page 16: Guide illustré pour l’installation d’un environnement d ... · Guide Raspberry Pi ~ 12 ~ Figure 10 : Fenêtre de démarrage de TeamViewer . Au préalable, il nous a fallu obtenir

INF 1165 – Guide Raspberry Pi

~ 16 ~

Figure 14 : Option d’installation par défaut de Node.js

Création d’un programme du serveur Web sur l’ordinateur sous Windows À l’aide du Bloc-notes, nous créerons un programme serveur que nous nommerons « main1.js » dans le répertoire « C:\Users\invite\Documents\Cristian\node.js ». Le contenu est présenté à la Figure 15.

Figure 15 : Programme serveur « Hello World » écrit en JavaScript

var http = require("http"); http.createServer(function (request, response) { // Send the HTTP header // HTTP Status: 200 : OK // Content Type: text/plain response.writeHead(200, {‘Content-Type’: ‘text/plain’}); // Send the response body as "Hello World" response.end(‘Hello World\n’); }).listen(8081);

Page 17: Guide illustré pour l’installation d’un environnement d ... · Guide Raspberry Pi ~ 12 ~ Figure 10 : Fenêtre de démarrage de TeamViewer . Au préalable, il nous a fallu obtenir

INF 1165 – Guide Raspberry Pi

~ 17 ~

• À partir de la ligne de commande de Windows, lancez le programme avec : C:\Users\invite\Documents\Cristian\node.js programs>node main1.js

• Le bon fonctionnement du programme serveur (« main1.js ») est confirmé par l’apparition du message : Server running at http://127.0.0.1:8081/

ATTENTION!

Remarquez que le programme node est lancé à partir du répertoire qui contient main1.js

• À partir de l’ordinateur sous Windows, pour vérifier le fonctionnement du site localement, il suffit de lancer un navigateur et d’y inscrire l’adresse Web locale : http://127.0.0.1:8081. La Figure 16 nous présente le résultat attendu.

Figure 16 : Résultat de l’application serveur Web sur l’ordinateur sous Windows

Création d’un programme du serveur Web sur l’ordinateur Raspberry Pi Pour créer un serveur Web similaire à celui créé sur l’ordinateur Windows sur le Raspberry Pi, suivez les étapes suivantes :

• dans un premier temps, téléchargez et installez le fichier « node.js » sur Raspberry Pi à l’aide des commandes Linux/Debian suivantes :

Figure 17 : Lignes de commandes pour l’installation du « node.Js » sur le Raspberry

• Configurez ensuite la variable d’environnement PATH à l’aide de la commande qui suit, et ce, afin de pouvoir lancer « node.js » à partir de n’importe quel répertoire :

$ export PATH=$PATH:/usr/local/nodejs/bin

$ cd /tmp $ wget http://nodejs.org/dist/v6.3.1/node-v6.3.1-linux-x64.tar.gz $ tar xvfz node-v6.3.1-linux-x64.tar.gz

Page 18: Guide illustré pour l’installation d’un environnement d ... · Guide Raspberry Pi ~ 12 ~ Figure 10 : Fenêtre de démarrage de TeamViewer . Au préalable, il nous a fallu obtenir

INF 1165 – Guide Raspberry Pi

~ 18 ~

• Finalement, lancez le programme à l’aide de la commande : $ node main.js

Le résultat attendu est : Server running at http://127.0.0.1:8081/

ATTENTION!

Remarquez que nous avons lancé le programme « node » à partir du répertoire qui contient « main1.js ». Autrement, pour que les variables de

l’environnement soient effectives, il faudra redémarrer le Raspberry Pi.

À partir du navigateur de l’ordinateur sous Windows, en introduisant l’adresse IP du Raspberry PI comme adresse du serveur (http://169.254.184.140:8081), nous constatons que le serveur est prêt et en bon état de marche.

Figure 18 : Serveur du Raspberry en bon état de marche