Le contrôle à distance de votre Raspberry Pi depuis un autre ordinateur est particulièrement intéressant dans certaines situations ou utilisations particulières, par exemple si on ne souhaite pas l'utiliser comme un "simple" micro-ordinateur, mais plutôt comme un objet connecté avec des fonctions spécifiques en matière de multimédia ou de domotique.
Attention :
Deux moyens sont à notre disposition pour cette prise de contrôle à distance :
via SSH, uniquement en ligne de commande dans un terminal (le plus « rapide » et efficace dans certains cas, et quand on est un utilisateur assez avancé),
via VNC, avec une interface graphique complète habituelle et prise en charge du clavier et de la souris.
Contrôler à distance son Raspberry Pi avec SSH⚓
Rappel :
Nous avons vu plus haut comment activer le protocole SSH (donc le serveur SSH) sur le Raspberry Pi lors de son premier démarrage. Il faut maintenant, pour pouvoir le contrôler depuis un autre ordinateur installer un client SSH sur cet ordinateur.
Pour le contrôle via SSH, nous avons besoin de connaître l'adresse IP du Raspberry Pi.
Sur un ordinateur fonctionnant sous Linux⚓
Attention :
Un « client SSH » est un utilitaire à installer sur son ordinateur qui va permettre de se connecter à un serveur SSH implanté sur un autre ordinateur et d'en prendre le contrôle. Sur un ordinateur sous Linux avec une distribution basée sur Debian, l'installation se fait simplement en une seule ligne, qui combine deux commandes :
sudo apt-get update && sudo apt-get install openssh-client
Cette ligne de commande est à saisir ou copier coller dans le terminal de l'ordinateur destiné à prendre le contrôle à distance du Raspberry,
Il faut valider par la touche Entrée et attendre le téléchargement puis l'installation du client SSH.
(Cette manipulation ne se fait qu'une seule fois, bien entendu).
Méthode : Prendre le contrôle du Raspberry Pi
1. Dès que le client SSH est installé sur votre ordinateur, il suffit d'ouvrir un terminal et de saisir la commande ssh suivie des données permettant d’identifier la machine à atteindre, sur votre réseau local, c'est à dire le nom d'utilisateur et l'adresse IP de votre Raspberry, selon la syntaxe :
ssh <nom_utilisateur>@<adresse_IP>
Dans mon exemple :
ssh pi@192.168.1.13
validé par la touche Entrée et suivi du mot de passe d'administrateur du Raspberry Pi.
2. Vous ouvrez alors la session d’utilisateur sur le Raspberry, depuis votre ordinateur : vous le contrôlez désormais à distance, depuis le client SSH de votre ordinateur.
Toutes les commandes que vous pourrez saisir dans ce terminal seront exécutées par le Raspberry.
3. En fin de session, pour fermer la connexion SSH et arrêter la prise de contrôle à distance, il faut saisir la commande exit et valider.
On revient dans le terminal de l'ordinateur.
Sur un ordinateur Windows 10⚓
Attention :
Bonne nouvelle pour les ordinateurs fonctionnant sous Windows 10 : ils possèdent désormais un client OpenSSH intégré.
Conseil : Activer le client Open SSH sur Windows 10
1. Aller dans « Paramètres » ➜ « Applications » ➜ « Applications et fonctionnalités ».
2. Cliquer sur « Gérer les fonctionnalités facultatives »
3. Cliquer sur « Ajouter une fonctionnalité » et choisir OpenSSH Clien (Beta) puis l'installer.
Méthode : Contrôler le Raspberry Pi depuis le client OpenSSH de Windows 10
1. Il faut tout d'abord ouvrir le Windows PowerShell, c'est dire l'équivalent Windows du terminal Linux. Pour cela, il suffit de faire un clic-droit sur l'icône du menu Démarrer, en bas à droite, et de choisir « Windows PowerShell (Admin) » dans la liste.
2. Dans cette fenêtre, nous allons pouvoir saisir la commande qui nous permettra de nous connecter en SSH au Raspberry Pi. C'est la même commande que sous Linux :
ssh <nom_utilisateur>@<adresse_IP>
Dans mon exemple :
ssh pi@192.168.1.13
validé par la touche Entrée et suivi du mot de passe d'administrateur du Raspberry.
3. Je suis désormais en train de contrôler le Raspberry depuis mon ordinateur sous Windows ; toutes les commandes que je peux saisir ici sont des commandes Linux et elles vont s'exécuter sur le Raspberry Pi.
4. Comme précédemment, quand j'ai terminé ce que j'ai à faire sur le Raspberry, en fin de session, pour fermer la connexion SSH et arrêter la prise de contrôle à distance, il faut saisir la commande exit et valider.
On revient dans le PowerShell de Windows.
SSH autres versions de Windows⚓
Sur toutes les autres Windows, pour pouvoir utiliser SSH, je vais être obligé d'installer un logiciel dédié.
Il en existe plusieurs, le plus connu actuellement est PuTTY ; un logiciel libre à télécharger depuis le site de son éditeur :
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
Un guide complet est accessible sur cette page, dans la seconde partie de ce chaptitre :
à partir du titre « Se connecter via SSH à partir d'une machine Windows »
Contrôler à distance son Raspberry Pi avec VNC⚓
Activer VNC sur le Raspberry Pi⚓
De la même manière que pour le protocole SSH qu'on a vu précédemment, le serveur VNC n'est pas activé par défaut sur le Raspberry Pi. C'est à l'utilisateur de l'activer, selon ses besoins.
Il y a deux méthodes pour cela :
soit depuis la fenêtre de configuration du Raspberry (en mode Desktop - interface graphique)
soit avec l'utilitaire Raspi-Config depuis un terminal (aussi bien depuis le terminal du Raspberry lui-même, en mode interface graphique, que depuis le terminal d'un ordinateur distant en contrôlant le Raspberry via SSH).
Méthode : Depuis la fenêtre de configuration du raspberry
1. Accéder au menu des applications ➜ Préférences ➜ Configuration du Raspberry Pi.
2. Dans la fenêtre qui s'ouvre (que vous pouvez redimensionner à la souris), accéder au 2e onglet Interfaces.
- Cocher le bouton « Activé » sur la troisième ligne VNC.
- Valider
Méthode : Depuis un terminal, avec l'utilitaire raspi-config (méthode alternative)
1. Saisir la commande sudo raspi-config, valider par la touche Entrée ; saisissez le mot de passe et valider.
2. L'utilitaire de configuration se lance alors dans la fenêtre du terminal (possibilité de la redimensionner à la souris, pour être plus à l'aise).
Avec les flèches de direction du clavier, la touche Entrée et la touche Échap. vous pouvez naviguer dans les différentes parties du menu pour activer et configurer certains paramètres.
Se positionner sur la 5e ligne « Interfacing options » et valider par la touche Entrée.
3. Aller sur la 3e ligne « P3 VNC » et valider par Entrée.
4. Avec la touche tabulation ou les flèches de direction du clavier, se positionner sur « Oui » et valider avec la touche Entrée.
Le serveur VNC est désormais activé.
5. Avec la touche tabulation ou les flèches de direction du clavier, se positionner sur « Finish » et valider avec la touche Entrée.
Refermer le terminal.
Attention :
Le serveur VNC du Raspberry Pi est désormais activé. Il est prêt à fonctionner.
Pour pouvoir s'y connecter depuis un autre ordinateur et le contrôler à distance, il va falloir ensuite installer sur cet ordinateur distant un client VNC. (Cf. plus bas).
➜ Il faut auparavant vérifier s'il est bien configuré pour démarrer en mode Bureau.
Configurer le Raspberry Pi pour démarrer en mode Desktop⚓
Attention :
Pour prendre le contrôle du Raspberry Pi depuis un autre poste avec VNC, il faut que ce Raspberry ait démarré de façon « classique », en mode Desktop, c'est à dire avec une interface graphique (en non pas en mode console, avec seulement la possibilité de saisir des lignes de commande).
On peut configurer ce type de démarrage de deux façons :
soit depuis la fenêtre de configuration du Raspberry (en mode Desktop - interface graphique)
soit avec l'utilitaire Raspi-Config depuis un terminal (aussi bien depuis le terminal du Raspberry Pi lui-même, en mode interface graphique, que depuis le terminal d'un ordinateur distant en contrôlant le Raspberry via SSH).
Méthode : Depuis la fenêtre de configuration du Raspberry Pi
1. Accéder au menu des applications ➜ Préférences ➜ Configuration du Raspberry.
2. Dans la fenêtre qui s'ouvre, sur le 1er onglet « Système » :
choisir l'option Boot : Vers le bureau
cocher la case « Connexion automatique : se connecter en tant que 'pi' »
puis valider.
3. Faire redémarrer le Raspberry Pi : menu des applications ➜ Shutdown ➜ Reboot
Méthode : Depuis un terminal avec l'utilitaire Raspi-Config (méthode alternative)
1. Saisir la commande sudo raspi-config, valider par la touche Entrée ; saisissez le mot de passe et valider.
2. L'utilitaire de configuration se lance alors dans la fenêtre du terminal (possibilité de la redimensionner à la souris, pour être plus à l'aise). Avec les flèches de direction du clavier, la touche Entrée et la touche Échap. vous pouvez naviguer dans les différentes parties du menu pour activer et configurer certains paramètres.
Se positionner sur la 3e ligne « Boot options » et valider par la touche Entrée.
3. Rester sur la 1ère ligne « B1 Desktop / CLI » et valider par Entrée.
On va ensuite choisir que le Raspberry démarre en mode Bureau (Desktop) plutôt qu'en mode console (en ligne de commande - Command Line Interface).
4. Avec les flèches de direction du clavier, se positionner sur la 4e ligne « B4 Desktop - Autologin Desktop GUI, automatically logged in as 'pi' user » puis sur « OK » avec la touche Tab du clavier, et valider avec la touche Entrée.
Il faut ensuite redémarrer le Raspberry.
Il est maintenant configuré pour démarrer en mode « Desktop GUI » c'est à dire en mode bureau avec interface graphique pour l'utilisateur (Graphical User Interface) et il ouvrira automatiquement une session sans avoir à saisir de mot de passe.
➜ Votre Raspberry Pi est maintenant prêt à être commandé à distance via VNC, depuis un client VNC installé sur un autre ordinateur.
Prendre le contrôle du Raspberry Pi avec un client VNC⚓
Définition :
Un « client VNC » est un utilitaire à installer sur son ordinateur qui va permettre de se connecter à un « serveur VNC » implanté sur un autre ordinateur dont on veut prendre le contrôle.
Attention :
Il existe de nombreux logiciels clients VNC différents. Celui qu'on installera ici sur son ordinateur est choisi pour être pleinement compatible avec le serveur VNC présent sur le Raspberry Pi.
Ce client VNC est celui de RealVNC ; il s'installe sur tout type de plateformes et il est gratuit pour une utilisation personnelle.
On le téléchargera à partir de cette page :
Il faut ensuite procéder à son installation sur votre ordinateur, selon un processus classique.
Méthode : Prendre le contrôle du Raspberry avec un client VNC
1. Dès que le client VNC est installé sur votre ordinateur, il suffit de le lancer. Dans la fenêtre qui s'ouvre, il faut saisir l'adresse IP du Raspberry dans votre réseau local.
RAPPEL : il s'agira de préférence d'une adresse IP fixe qu'on lui aura attribuée auparavant (cf. chapitre précédent : « Connaître l'adresse IP du Raspberry Pi - Attribuer une IP fixe »
Dans mon exemple : 192.168.1.13
NB : Vous pouvez ignorer le bouton « Ouvrir une session » destiné à la création d'un compte utilisateur sur le site internet de Real VNC.
2. Si l'adresse saisie existe dans votre réseau local, le client VNC fait apparaître en surbrillance une ligne « Connexion à l'adresse ou au nom d'hôte "192.168.1.13" ».
Il suffit de cliquer sur cette ligne en surbrillance pour lancer la demande de connexion à distance au Raspberry.
3. Une nouvelle fenêtre s'ouvre. Il va falloir saisir le nom d'utilisateur et le mot de passe d'ouverture de session sur le Raspberry puis valider par OK.
RAPPEL : le mot de passe par défaut est raspberry mais vous l'avez très certainement déjà modifié (fortement conseillé !) - cf. chapitre « Premières configurations - Modifier le mot de passe »
4. La connexion avec le Raspberry s'établit et une fenêtre s'ouvre, montrant directement le bureau de votre Raspberry dont vous avez le contrôle total en mode Desktop - interface graphique.
5. À la fin de votre session de travail à distance, vous allez refermer la connexion VNC au moyen de l'icône à droite de la barre d'icônes de RealVNC présente en haut de l'écran.
6. On retrouve la fenêtre initiale du client VNC. On y voit maintenant apparaître une miniature de la connexion qui vient d'être établie, l'adresse IP et le nom d'utilisateur seront mémorisés.
Pour se reconnecter, il n'y aura qu'à faire un clic-droit sur cette miniature et à cliquer sur la ligne « Connexion » et saisir le mot de passe d'utilisateur du Raspberry Pi.