Raspberry Pi n’est pas seulement un bon composant matériel pour les projets créatifs DIY (Do It Yourself). Le micro-or­di­na­teur bri­tan­nique est aussi très utilisé comme base pour l’ex­ploi­ta­tion de serveurs de dif­fé­rents types (notamment pour les serveurs Cloud, DNS ou Minecraft), grâce à sa forte puissance de calcul et de sa con­som­ma­tion d’énergie minimale. De nombreux uti­li­sa­teurs s’appuient en effet sur l’accès à distance via SSH (Secure Shell) pour éviter d’avoir à connecter le clavier et le moniteur à chaque fois que des chan­ge­ments doivent être apportés aux con­fi­gu­ra­tions de serveur.

Con­fi­gu­rer SSH sur le Raspberry Pi : situation initiale

Si vous exécutez un serveur sur le Raspberry Pi, dans la plupart des cas, vous uti­li­se­rez par défaut Raspbian comme base lo­gi­cielle. Les nouvelles versions de la dis­tri­bu­tion Linux pour Pi ont déjà un service SSH installé par défaut, ce qui est alors né­ces­saire pour établir des con­nexions distantes chiffrées. Mais pour des raisons de sécurité, cependant, le service n’est plus activé dès le début et il est donc né­ces­saire de l’activer en premier afin de pouvoir profiter des pos­si­bi­li­tés de l’accès à distance. Alors que les uti­li­sa­teurs de Linux et de MacOs peuvent fa­ci­le­ment établir la connexion via SSH via le Shell ou le terminal, les uti­li­sa­teurs de Windows ont besoin de logiciels sup­plé­men­taires comme PuTTY ou WinSCP.

Conseil

 « pi » est par défaut le compte principal dans Raspbian, avec toujours comme mot de passe « raspberry ». Ainsi, lorsque le service SSH était activé par défaut, tout uti­li­sa­teur qui pouvait se connecter au réseau Raspberry pouvait donc fa­ci­le­ment s’y connecter si les in­for­ma­tions d’iden­ti­fi­ca­tion n’étaient pas modifiées. C’est la raison pour laquelle SSH a depuis été désactivé dans la con­fi­gu­ra­tion de base.

Tutoriel : comment activer SSH sur le Raspberry Pi

SSH a donc été désactivé par défaut dans le contexte d’un accès externe potentiel et fa­ci­le­ment réa­li­sable. Cependant, pour éviter ce risque lors de l’ac­ti­va­tion manuelle de SSH, vous devez donc changer le mot de passe du compte uti­li­sa­teur « pi » le plus tôt possible, en tout cas avant de vous connecter à Internet.

Il existe quatre méthodes pour activer SSH :

Solution 1 : créer un fichier ssh dans le ré­per­toire boot de la carte SD

Si vous n’avez pas la pos­si­bi­lité d’utiliser Raspberry di­rec­te­ment via le clavier et l’écran, vous pouvez utiliser un autre moyen : vous accédez à la carte microSD sur laquelle vous avez installé Raspbian à partir d’un or­di­na­teur externe en créant un fichier nommé ssh dans le ré­per­toire boot. Il est important de ne pas utiliser d’extension de fichier dans ce cas et de ne pas l’ajouter au­to­ma­ti­que­ment (ce qui arrive souvent sous Windows). Si vous re­dé­mar­rez le micro-or­di­na­teur, l’accès SSH est alors activé.

Solution 2 : activer le serveur SSH via le bureau

En con­nec­tant le micro-or­di­na­teur au clavier, à la souris et à l'écran, vous pouvez aussi fa­ci­le­ment activer SSH sur votre Raspberry Pi à partir de l'in­ter­face du bureau. Ouvrez pour cela le menu Démarrer (Start) et aller jusqu’à « Raspberry Pi Con­fi­gu­ra­tion » via le bouton de menu « Pre­fe­rences ». Sous l’onglet « In­ter­faces », vous trouverez, entre autres, l’entrée cor­res­pon­dante pour SSH, y compris le réglage par défaut (« disabled » = désactivé), que vous pouvez à ce stade inverser. Confirmez ensuite le chan­ge­ment en cliquant sim­ple­ment sur « OK ».

Solution 3 : activer SSH via le terminal dans raspi-config

Si vous avez un clavier et un écran qui sont connectés à votre Raspberry, vous pouvez aussi activer l‘accès SSH via le terminal. Pour ce faire, démarrez l’interface de ligne de commande et entrez ensuite la commande suivante :

***CODE***

sudo raspi-config

***CODE***

Dans le menu de l’outil de con­fi­gu­ra­tion qui s’ouvre alors, veuillez sé­lec­tion­ner d’abord le point 7 (« Advanced Options ») puis A4 (« SSH »). L’outil vous demande si vous voulez activer le serveur SSH, ce que vous confirmez, avant de refermer les pa­ra­mètres via la touche « Finish ».

Solution 4 : activer le service SSH avec systemctl

Comme al­ter­na­tive à raspi-config, il est possible d’utiliser l’outil de commande systemctl afin d’activer SSH sur votre Raspberry Pi. Il suffit d’entrer les deux commandes suivantes dans le terminal :

***CODE***

sudo systemctl enable ssh

sudo systemctl start ssh

***CODE***

Alors que la première commande garantit le fait que le serveur SSH démarre au­to­ma­ti­que­ment lorsque le micro-or­di­na­teur redémarre, la seconde commande démarre le serveur dans la session en cours.

Fonc­tion­ne­ment de l’accès au serveur SSH Raspberry Pi activé

Après avoir démarré le service SSH sur votre Raspberry Pi, le micro-or­di­na­teur est prêt pour un accès à distance via le protocole réseau. La procédure suivante diffère selon le type de système d'ex­ploi­ta­tion installé sur l'or­di­na­teur externe. Les ins­truc­tions suivantes montrent en effet comment les uti­li­sa­teurs de Windows, Linux et macOS peuvent gérer l'éta­blis­se­ment d'une connexion sécurisée et quelles sont les dif­fi­cul­tés à prévoir.

Comment établir une connexion SSH avec Raspberry Pi sous Linux et macOS ?

MacOS et les dis­tri­bu­tions Linux comme Ubuntu ou Debian sup­por­tent au­to­ma­ti­que­ment la connexion via le protocole SSH, grâce à l’im­plé­men­ta­tion standard du logiciel libre OpenSSH. Ainsi, tout ce que vous avez à faire est de vous assurer que l’or­di­na­teur soit bien sur le même réseau que le Raspberry Pi. Si tel est le cas, vous n’avez alors besoin que de l’adresse IP pour établir la connexion. Pour cela, deux options s’offrent à vous :

  1. Vous utilisez le terminal du micro-or­di­na­teur et rentrez la commande

***CODE***

hostname –I

***CODE***

Si vous utilisez le Raspberry di­rec­te­ment via le clavier et le moniteur.

  1. Trouver l’adresse dans la liste des pé­ri­phé­riques de votre routeur ou utiliser un outil sur l’or­di­na­teur externe tel que Nmap si vous utilisez le raspberry en mode Headless.

Vous pouvez ensuite essayer d’établir la connexion SSH via le terminal du pé­ri­phé­rique Unix, la commande cor­res­pon­dante étant struc­tu­rée comme suit :

***CODE***

ssh nom­du­ti­li­sa­teur@IP-Adresse

***CODE***

Pour le paramètre « nom d’uti­li­sa­teur », insérez le profil par défaut « pi » ou bien le nom de votre propre profil (si vous en avez créé un). La première fois que la connexion SSH est établie entre Pi et un pé­ri­phé­rique externe, vous recevez un message de sécurité ou d’au­then­ti­fi­ca­tion. Une fois que vous avez pris note de cela, sé­lec­tion­ner « oui » dans le terminal pour continuer. Enfin, entrez le mot de passe de l’uti­li­sa­teur sé­lec­tionné pour se connecter à la ligne de commande Raspberry.

Note

parfois, Raspberry Pi s’est vu attribuer une adresse IP à laquelle l’or­di­na­teur externe s’est connecté au­pa­ra­vant (même s’il était sur un autre réseau). Vous recevrez dans ce cas un aver­tis­se­ment pendant l’éta­blis­se­ment de la connexion, avec un message vous demandant de supprimer l’entrée IP cor­res­pon­dante de la liste des pé­ri­phé­riques connus. Suivez les ins­truc­tions données avant de relancer la commande SSH.

Con­fi­gu­rer l’accès SSH sous Windows avec PuTTy

Con­trai­re­ment à la plupart des systèmes unixoid, Windows n’a pas de client SSH par défaut. La première étape consiste à té­lé­char­ger une ap­pli­ca­tion cor­res­pon­dante. Nous avons opté pour PuTTy, mais les pro­grammes clients com­pa­rables sont très si­mi­laires dans leur fonc­tion­ne­ment et leurs fonc­tion­na­li­tés, c’est pourquoi en principe, vous pouvez aussi utiliser un logiciel différent.

Sur la page d’accueil du projet PuTTY, vous pouvez té­lé­char­ger di­rec­te­ment le package d’ins­tal­la­tion ou le fichier exe du programme (putty.exe). Ce dernier évite le processus d’ins­tal­la­tion afin que PuTTY puisse être démarré im­mé­dia­te­ment. Après avoir démarré le client en double-cliquant, il vous suffit d’entrer le nom d’hôte dans le champ prévu à cet effet et d’appuyer sur le bouton « Open ».

Note

dans certains cas, il est né­ces­saire de spécifier l’adresse IP au lieu du nom d’hôte. Si vous ne les con­nais­sez pas, vous pouvez utiliser les méthodes décrites ci-dessus (Nmap, liste des pé­ri­phé­riques du routeur, vé­ri­fi­ca­tion du terminal).

PuTTY va main­te­nant afficher un message vous demandant de confirmer la fiabilité du serveur SSH Raspberry Pi et de la clef SSH, ce que vous réalisez avec « Yes ». Comme dans Unix, cette note de sécurité n’apparaît que lorsque vous vous connectez à distance pour la première fois. Une nouvelle fenêtre s’ouvre alors et vous pouvez vous connecter à distance au terminal Raspberry en entrant vos iden­ti­fiants.

Conseil

si il y a un délai d’attente pendant la tentative de connexion, il est très probable que l’adresse IP entrée ne cor­res­pond pas à l’adresse réelle du Raspberry Pi.

Aller au menu principal