Raspberry Pi : activation et utilisation de l’accès SSH
Raspberry Pi n’est pas seulement un bon composant matériel pour les projets créatifs DIY (Do It Yourself). Le micro-ordinateur britannique est aussi très utilisé comme base pour l’exploitation de serveurs de différents types (notamment pour les serveurs Cloud, DNS ou Minecraft), grâce à sa forte puissance de calcul et de sa consommation d’énergie minimale. De nombreux utilisateurs 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 changements doivent être apportés aux configurations de serveur.
Configurer SSH sur le Raspberry Pi : situation initiale
Si vous exécutez un serveur sur le Raspberry Pi, dans la plupart des cas, vous utiliserez par défaut Raspbian comme base logicielle. Les nouvelles versions de la distribution Linux pour Pi ont déjà un service SSH installé par défaut, ce qui est alors nécessaire pour établir des connexions 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écessaire de l’activer en premier afin de pouvoir profiter des possibilités de l’accès à distance. Alors que les utilisateurs de Linux et de MacOs peuvent facilement établir la connexion via SSH via le Shell ou le terminal, les utilisateurs de Windows ont besoin de logiciels supplémentaires comme PuTTY ou WinSCP.
« 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 utilisateur qui pouvait se connecter au réseau Raspberry pouvait donc facilement s’y connecter si les informations d’identification n’étaient pas modifiées. C’est la raison pour laquelle SSH a depuis été désactivé dans la configuration 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 facilement réalisable. Cependant, pour éviter ce risque lors de l’activation manuelle de SSH, vous devez donc changer le mot de passe du compte utilisateur « 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épertoire boot de la carte SD
Si vous n’avez pas la possibilité d’utiliser Raspberry directement 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 ordinateur externe en créant un fichier nommé ssh dans le répertoire boot. Il est important de ne pas utiliser d’extension de fichier dans ce cas et de ne pas l’ajouter automatiquement (ce qui arrive souvent sous Windows). Si vous redémarrez le micro-ordinateur, l’accès SSH est alors activé.
Solution 2 : activer le serveur SSH via le bureau
En connectant le micro-ordinateur au clavier, à la souris et à l'écran, vous pouvez aussi facilement activer SSH sur votre Raspberry Pi à partir de l'interface du bureau. Ouvrez pour cela le menu Démarrer (Start) et aller jusqu’à « Raspberry Pi Configuration » via le bouton de menu « Preferences ». Sous l’onglet « Interfaces », vous trouverez, entre autres, l’entrée correspondante pour SSH, y compris le réglage par défaut (« disabled » = désactivé), que vous pouvez à ce stade inverser. Confirmez ensuite le changement en cliquant simplement 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 configuration qui s’ouvre alors, veuillez sélectionner 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 paramètres via la touche « Finish ».
Solution 4 : activer le service SSH avec systemctl
Comme alternative à 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 automatiquement lorsque le micro-ordinateur redémarre, la seconde commande démarre le serveur dans la session en cours.
Fonctionnement de l’accès au serveur SSH Raspberry Pi activé
Après avoir démarré le service SSH sur votre Raspberry Pi, le micro-ordinateur 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'exploitation installé sur l'ordinateur externe. Les instructions suivantes montrent en effet comment les utilisateurs de Windows, Linux et macOS peuvent gérer l'établissement d'une connexion sécurisée et quelles sont les difficultés à prévoir.
Comment établir une connexion SSH avec Raspberry Pi sous Linux et macOS ?
MacOS et les distributions Linux comme Ubuntu ou Debian supportent automatiquement la connexion via le protocole SSH, grâce à l’implémentation standard du logiciel libre OpenSSH. Ainsi, tout ce que vous avez à faire est de vous assurer que l’ordinateur 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 :
- Vous utilisez le terminal du micro-ordinateur et rentrez la commande
***CODE***
hostname –I
***CODE***
Si vous utilisez le Raspberry directement via le clavier et le moniteur.
- Trouver l’adresse dans la liste des périphériques de votre routeur ou utiliser un outil sur l’ordinateur 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ériphérique Unix, la commande correspondante étant structurée comme suit :
***CODE***
ssh nomdutilisateur@IP-Adresse
***CODE***
Pour le paramètre « nom d’utilisateur », 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ériphérique externe, vous recevez un message de sécurité ou d’authentification. Une fois que vous avez pris note de cela, sélectionner « oui » dans le terminal pour continuer. Enfin, entrez le mot de passe de l’utilisateur sélectionné pour se connecter à la ligne de commande Raspberry.
parfois, Raspberry Pi s’est vu attribuer une adresse IP à laquelle l’ordinateur externe s’est connecté auparavant (même s’il était sur un autre réseau). Vous recevrez dans ce cas un avertissement pendant l’établissement de la connexion, avec un message vous demandant de supprimer l’entrée IP correspondante de la liste des périphériques connus. Suivez les instructions données avant de relancer la commande SSH.
Configurer l’accès SSH sous Windows avec PuTTy
Contrairement à la plupart des systèmes unixoid, Windows n’a pas de client SSH par défaut. La première étape consiste à télécharger une application correspondante. Nous avons opté pour PuTTy, mais les programmes clients comparables sont très similaires dans leur fonctionnement et leurs fonctionnalité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écharger directement le package d’installation ou le fichier exe du programme (putty.exe). Ce dernier évite le processus d’installation afin que PuTTY puisse être démarré immédiatement. 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 ».
dans certains cas, il est nécessaire de spécifier l’adresse IP au lieu du nom d’hôte. Si vous ne les connaissez pas, vous pouvez utiliser les méthodes décrites ci-dessus (Nmap, liste des périphériques du routeur, vérification du terminal).
PuTTY va maintenant 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 identifiants.
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 correspond pas à l’adresse réelle du Raspberry Pi.