Beruflich Dokumente
Kultur Dokumente
Raspberry Pi
Objectifs :
− Faire de l'administration à distance
Pré-requis :
− Cours et TP « Découverte du Raspberry Pi »
A partir :
− Carte de référence Debian GNU/Linux
− Raspberry Pi Modèle B
− Carte SD 4 Go min. / Classe 4 min.
− Bloc d'alimentation micro USB 1 A min.
− Cordon RJ45 Cat. 5
− Accès Internet configuré pour le Raspberry Pi
− Cordon HDMI/DVI
− Moniteur avec connectivité DVI (obligatoire) et Audio (optionnelle)
− Clavier et souris USB
− Cordon audio Jack 3,5 mm stéréo (optionnel)
− HUB USB
− Lecteur de carte SD USB et Carte SD
Durée : 4H
Conditions :
− En interaction avec le professeur.
Critères :
− Comportement en classe, respect des règles de vie en classe
2016
TP02- Administration Distance Raspberry Pi AJ.docx version 1.0 page 1/16
Table des matières
1.ADMINISTRATION A DISTANCE
STANCE ................................................................
....................................................... 3
1.1 Le concept ................................................................................................
................................ ................................................... 3
1.2 Technique : Réseau : Notion de serveur / client, notion de port ...........................................
................................ 3
1.3. VNC ( Virtual Network rk Computing ) : accès au bureau distant multi-plateforme plateforme ................... 5
1.4. SSH (Secure SHell)) la solution rapide ................................................................
................................................ 8
1.5.Xming pour SSH ................................................................................................
................................ ..........................................10
1.6.Transférer
Transférer des fichiers vers le raspberry avec SSH File Transfer Protocol SFTP ......................16
1. ADMINISTRATION A DISTANCE
ANCE
Dans le cas d'un Raspberry Pi (ou toute autre carte embarquée), enfoui dans un dispositif industriel
ou grand public, celui-ci
ci ne dispose pas forcément d'une interface écran-clavier.
écran clavier.
Dans le cas où le Raspberry Pi est connecté à un un réseau filaire ou sans fil, il peut être intéressant
d'effectuer les opérations d'administration à distance.
1.1. Le concept
Au commencement, le Raspberry Pi
• L'idée de base du Raspberry-PiPi est de disposer d'un mini-PC
mini PC de lataille d'une carte bancaire :
quelque
que chose de très petit et de très compact donc, permettant des usages variés, notamment en
mode embarqué.
Le problème : les accessoires sont trop encombrants...
• Lorsque l'on découvre le Raspberry-Pi,
Raspberry on est très content de voir qu'il
est tout petit... mais dès qu'on commence à vouloir l'utiliser, on se
rend compte qu'il est nécessaire de lui associer de nombreux
accessoires :
◦ Un écran ou une télévision, qui pourra certes être de petite taille,
mais indispensable...
◦ Un clavier, une souris
◦ Etc... du coup l'intérêt de la petite taille est perdu...
L'idée : travailler sur le Raspberry Pi depuis un poste fixe
ou
u d’un autre Raspberry Pi
• Pour pallier à ce problème qui fait perdre au Raspberry-Pi
Raspberry beaucoup
de son intérêt, la solution consiste à utiliser le moins d'accessoires
possibles pour pouvoir l'utiliser tout en préservant sa petite taille et sa
simplicité apparente.
• D'où l'idée d'accéder au bureau graphique du Raspberry-Pi
Raspberry par le
réseau depuis un poste fixe, dont le plus souvent on dispose, pour
réaliser
éaliser les opérations voulues sur le système embarqué.
Concrètement, une solution pertinente
• Dès lors, un simple réseau opérationnel suffit pour accéder au
Raspberry-Pi,
Pi, que ce soit par ethernet ou même wifi, sans qu'aucun
écran, clavier ou souris ne soit nécessaire.
• On préserve ainsi la mobilité du Raspberry-Pi,
Raspberry sa petite taille... tout en
étant en mesure de travailler dessus.
Une solution qui offre de nombreuses possibilités
• Il devient alors possible de travailler sur le Raspberry-Pi
Raspberry à distance,
d'utiliser des périphériques et de les contrôler à distance depuis un
seul et même poste fixe.
• Il devient également possible de transformer en toute simplicité le
Raspberry-PiPi en serveur web, de l'utiliser pour réaliser du datalogging,
etc...
1.2 Technique
ique : Réseau : Notion de serveur / client, notion de port
Intro
• Avant de passer à la suite, nous devons présenter deux notions à avoir
en tête pour bien comprendre ce que l'on va faire.
• Si on résume au sujet des réseaux :
◦ Un réseau est un ensemble de postes qui communiquent entre eux
◦ Chaque poste est identifié sur le réseau par son adresse IP
◦ L’adresse IP contient à la fois le numéro du réseau et le numéro du
poste sur le réseau
◦ le routeur a le numéro 1 sur le réseau.
2016
TP02- Administration Distance Raspberry Pi AJ.docx version 1.0 page 3/16
ADMINISTRATION RASPBERRY PI
• Une image pour retenir tout çà : celle du serveur qui sert les clients à la terrasse du café. Un ser-
se
veur, plusieurs clients qui lèvent le doigt pour interpeller le serveur et faire leur commande. Le ser-
se
veur en retour apporte au client sa commande.
Notion de port
• Un dernier point à comprendre avant de passer
p à la suite : la notion de port.
• L'image la plus simple pour comprendre la notion de « port réseau » est celle d'un câble té-t
léphonique multibrins ou de fibre optique :
La connexion réseau une fois établie entre un client et un serveur d'un réseau est en quelque sorte
la gaine autour du câble, et à l'intérieur de cette « connexion », il existe en quelque sorte des « fils
virtuels »,, plus de 65000 potentiellement, que les
les 2 postes ont à leur disposition pour communiquer
entre eux.
Chacun de ces « fils virtuels » est appelé un « port » et s'apparente à un fil du câble téléphonique
ou à une fibre optique.
Pour communiquer entre eux, le serveur et le client devront utiliser le même port.
◦ Ces ports sont numérotés et certains sont plus connus que d'autres. Le port 80 par exemple est
utilisé pour les connexions http utilisées sur internet. Plusieurs de ces ports sont réservés. Retenir
que les ports 5800 à 5900 sont libres. Pour
Po une liste des ports, voir ici :
http://fr.wikipedia.org/wiki/Liste_des_ports_logiciels
2016
TP02- Administration Distance Raspberry Pi AJ.docx version 1.0 page 4/16
ADMINISTRATION RASPBERRY PI
Le protocole VNC :
• est opensource, technique un peu ancienne, mais « robuste »
• est indépendant de la plateforme, ainsi on peut accéder au Raspberry-Pi
Raspberry Pi configuré en serveur VNC
depuis un MAC, Windows, Linux et même Android ou d’un autre Raspberry-Pi
Raspberry Pi
• Est peu sécurisé,, ce qui est sans importance sur un réseau local dédié. Mais si on souhaite plus
de sécurité, on pourra tunnelliser la connexion VNC par SSH (suite du TP)
Plus simplement,
implement, il sera possible d'utiliser un mot de passe lors de la connexion distante, tout sim-
si
plement.
• Supporte le retour vidéo !
Comment ça marche ?
Techniquement,
• le poste qui fournira le flux VNC,
VNC, c'est à dire le poste auquel on accède, est appelé Serveur
• le poste qui lit le flux VNC,, c'est à dire le poste qui prend le contrôle de l'autre poste, est appelé
Client
Dans notre cas,
• le Raspberry-PiPi est le Serveur VNC
• le poste fixe est le client VNC
Client multi-plateforme,
plateforme, multi-Os
multi !
Encore une fois, noter l'intérêt de cette solution qui est multiplateforme côté client : le Raspberry-Pi
Raspberry
devient accessible depuis une tablette Android ou un smartphone par exemple et si une interface
graphique est lancée sur le Raspberry-Pi,
Raspberry il est possible d'interagir
gir avec le Raspberry-Pi
Raspberry depuis la
tablette Android.
Intro
• Le RaspberryPi est un système minimal et ne dispose que de 2 ports USB qu'il vaut mieux réserver
pour des périphériques plutôttôt que de les utiliser pour un clavier et une souris... De plus, tout l'inté-
rêt du RaspberryPi est sa petite taille, sa légèreté et il est dommage de perdre tous ces atouts en
l'encombrant depériphériques de contrôle encombrants...C'est pourquoi maintenant que le système
est installé et opérationnel, on va le rendre accessible à distancesur un réseau à partir de
n'importe quel autre système (Windows, Linux, Linux, MacOsX et même une tablette Android si on
veut... )
• Comme çà on va pouvoir ensuite travailler sur RaspberryPi... sans le toucher, via le réseau éther-éthe
net ou sans fil... par accès
s au bureau distant. On va donc commencer par installer un serveur VNC
(VNC
NC est une technologie ancienne mais robuste qui permet d'accéder à distance au bureau d'un PC)
:
2016
TP02- Administration Distance Raspberry Pi AJ.docx version 1.0 page 5/16
ADMINISTRATION RASPBERRY PI
• Comme souvent dans le monde Gnu/Linux, pour chaque problème ou objectif, il existe plusieurs
solutions. Le choix d'un serveur VNC, logiciel
logic qui va nous permettre
ettre de diffuser le flux VNC sur le
réseau local, n'échappe pas à la règle.
• Une solution simple et robuste à l'usage : le serveur VNC vino. C'est notamment le serveur
serv VNC
par défaut sous Ubuntu, facile à installer sous Debian et sous les différents environnements
envi de bu-
reau dont LXDE.
Pour cette étape, et seulement pour la configuration initiale, votre RaspberryPi devra être
connecté à un écran avec une prise HDMI / DVI, une souris et un clavier.
$ vino-preferences
• Dans la fenêtre obtenue, autoriser visionnage et contrôle du bureau distant, désactiver la confir-
confi
mation de l'accès et activer accès distant avec mot de passe et mettre un mot de passe de son
choix. Puis clicquer sur « fermer »..
• On peut à présent tester l'accès distant manuellement à l'aide de la commande (pas sudo +++) :
$ /usr/lib/vino/vino-server
• On peut alors tester la connexion depuis le poste fixe. Pour connaître l'adresse ip du RaspberryPi,
saisir la comande ifconfig dans un Terminal et chercher l'adresse de l'interface eth0 ou wan0(de la
forme inet adr : xxx.xxx.xxx.xxx) Utiliser cette adresse pour se connecter depuis le poste fixe.
(L'autre façon de faire est de réaliser un scan' réseau depuis le poste fixe, avec la commande
comma sudo
nmap xxx.xxx.xxx.1-255 )
• On commence par installer le logiciel accessible sur le serveur FTP de la salle P18 dans le rubrique
logiciels_windows
2016
TP02- Administration Distance Raspberry Pi AJ.docx version 1.0 page 6/16
ADMINISTRATION RASPBERRY PI
Résultat :
• L'idéal est bien sûr de pouvoir lancer vino au démarrage automatiquement. On va ouvrir à nou-no
veau un fichier de configuration (avec geany ou nano). Si geany n’est pas installé installer le.
2016
TP02- Administration Distance Raspberry Pi AJ.docx version 1.0 page 7/16
ADMINISTRATION RASPBERRY PI
• Puis dé-commenter
commenter et modifier les lignes :
framebuffer_width=800
framebuffer_height=600
Sous Android, il existe aussi des clients VNC, (rechercher sur apps), installer-
installer-le sur votre smart-
phone ou tablette et par wifi en se connectant au SSID BTSSE pwd :btssellb on peut prendre le bu- b
reau du raspberry à distance !!
Dans ce contexte, les problèmes de sécurité doivent être pris en compte afin d'éviter une prise de
contrôle du système par une personne mal intentionnée...
Enfin ne pas lancer l’interface graphique du bureau du raspberry libère beaucoup de ressources
Le protocole SSH utilise un protocole de cryptage asymétrique reposant sur une paire de clés de
cryptage (une publique et une privée). Comme on s'en douterait, la clé publique peut être diffusée
sans risque par contre la clé privée doit être gardée secrète.
Le serveur utilise la clé publique du client pour chiffrer les informations qu'il lui envoie, le
client utilise sa clé
é privée pour déchiffrer les informations reçues.
Le client utilise la clé publique du serveur pour chiffrer les informations qu'il lui envoie, le
serveur utilise sa clé privée pour déchiffrer les informations reçues.
sudo raspi-config
Q2. Pour installer le client SSH sous Windows, il faut télécharger un programme gratuit appelé «
puTTY » disponible sur le serveur local en salle : ftp://10.17.150.1/
Après avoir téléchargé et installé puTTY (c’est un fichier unique appelé putty.exe), exécuté le
programme.
2016
TP02- Administration Distance Raspberry Pi AJ.docx version 1.0 page 9/16
ADMINISTRATION RASPBERRY PI
A partir d’ici on peut interagir en ligne de commande. On peut également ouvrir plusieurs
sessions en même temps avec des utilisateurs différents par putty (console tty2 tty1 etc..).
• le logiciel serveur X tourne sur une machine qui est dotée d'un écran, d'un clavier et d'une
souris (terminal X) ; il reçoit et sert des requêtes d'affichage, d'entrées de texte et de
déplacement de souris sur un port logiciel,
• un logiciel client X (logiciel graphique) se connecte au serveur X et lui envoie ses requêtes
d'affichages en utilisant le protocole X au travers de la bibliothèque X (Xlib). Le client est
simplement l'application logicielle (jeu, traitement de texte, calculatrice, ...) qui utilise
u alors
le protocole X pour déléguer au serveur X les taches d'IHM.
d'
2016
TP02- Administration Distance Raspberry Pi AJ.docx version 1.0 page 10/16
ADMINISTRATION RASPBERRY PI
Q4. Re-configurez
configurez putty pour autoriser le protocole x (charger sa sauvegarde « load » de sa
sauvegarde:
2016
TP02- Administration Distance Raspberry Pi AJ.docx version 1.0 page 11/16
ADMINISTRATION RASPBERRY PI
C’est le PC sous windows qui émule l’interface graphique de l’application geany mais c’est bien sur le
raspberry que le processus est ouvert !!!!!!!!
Remarque : la définition est meilleur que VNC en revanche il faut bien distinguer que si le raspberry
est branché sur un écran via sa sortie HDMI, contrairement nt à VNC, on ne verra pas geany
s’afficher !!!.
En effet le processus
ocessus est en arrière
arrière-plan
plan par SSH. VNC quant à lui est une prise de contrôle de
bureau à distance (on « voit » sur l’ecran relié à la prise HDMI ce que l’on fait sur le PC dans la
fenêtre de contrôle).
http://clementgrimal.fr/blog/2013/02/12/ssh
http://clementgrimal.fr/blog/2013/02/12/ssh-securite/.
2016
TP02- Administration Distance Raspberry Pi AJ.docx version 1.0 page 12/16
ADMINISTRATION RASPBERRY PI
BILAN :
Comme vous pouvez le voir, vous avez pu vous connecter à votre Raspberry sans avoir
échangé de clé publique avec un simple mot de passe. La liaison est quand même cryptée
car client et serveur s'échange leur clé publique au moment de la connexion.
1. Le serveur est obligé d'accepter une connexion même d'un client non autorisé (même si celui-ci
celui
est déconnecté après contrôle du mot de passe).
Il découle du problème précédent qu'un utilisateur mal intentionné peut multiplier les tentatives
pour au choix, « cracker » le mot de passe ou déclencher
déclencher une attaque en dénis de service (DOS :
Denial of Service).
Bref, cela n'est pas admissible dans un contexte professionnel. Il existe une procédure pour
générer des clés publiques et privées mais cela est utile si on est vraiment sur un serveur
sensible.
2016
TP02- Administration Distance Raspberry Pi AJ.docx version 1.0 page 13/16
ADMINISTRATION RASPBERRY PI
1.6. Transférer des fichiers vers le raspberry avec SSH File Transfer Protocol SFTP
À quoi ça sert ?
Commençons par le commencement : le FTP.. Il s'agit, comme son nom l'indique, d'un protocole de
transfert de fichiers (File Transfer Protocol). Il permet de transférer des fichiers, dans les deux sens,
entre un serveur (distant) et un client (vous).
Le serveur peut être configuré de façon à ne vous laisser voir/modifier que ce que l'administrateur
décide.
Le problème du FTP, c'est qu'il n'est pas sécurisé. Les données que vous échangez passent « en clair
», n'importe qui (avec un peu de connaissances en informatique) peut écouter tout ce qui se dit.
Cela n'est pas bon la sécurité.. Mais pire que cela, les mots de passe passent en clair, et là c'est très
mauvais pour la tranquillité. Mais la solution existe : le SFTP.
Le SFTP, Secure File Transfert Protocol, est beaucoup plus sûr que le FTP. Toute la connexion est
chiffrée, y compris les mots de passe et bien sûr le contenu des transferts. Techniquement, ça peut
aussi résoudre des problèmes de connexion à un serveur FTP. FTP
Comment ça fonctionne ?
Il vous faut, pour vous connecter sur un serveur SFTP,SFTP, un logiciel qui va bien. Il s'agit en général
d'un logiciel de FTP qui supporte les protocoles sécurisés. Je vous conseille très fortement Filezilla,
un très bon logiciel libre et gratuit. Ce logiciel est disponible à la fois pour Windows, pour MacOS et
pour Linux.
Q9. Téléchargez et installez Filezilla sur l’ordinateur désirant copier des fichiers vers le
Raspberry Pi.
Q11. Cliquez sur « Nouveau site » et saisissez les informations suivantes en prenant bien soin
de remplacer l’hôte par l’IP du Raspberry Pi, et d’utiliser une authentification normale avec
un login/mot de passe identique à celui de votre accès SSH (par défaut, le login est « pi » et le
mot de passe est « raspberry »).
2016
TP02- Administration Distance Raspberry Pi AJ.docx version 1.0 page 14/16
ADMINISTRATION RASPBERRY PI
Q13. Configurer un « Nouveau site » pour réaliser des connexions FTP avec le serveur de la salle
P18 plutôt que de passer par ftp://10.17.150.1
Q14. Résultat :
2016
TP02- Administration Distance Raspberry Pi AJ.docx version 1.0 page 15/16
ADMINISTRATION RASPBERRY PI
Q17. Configurer un « Nouveau site » pour réaliser des connexions FTP avec le serveur de la salle
P18 par le raspberry.
2016
TP02- Administration Distance Raspberry Pi AJ.docx version 1.0 page 16/16