Se connecter au Raspberry Pi en SSH, sans entrer ni de login, ni de mot de passe


06 février 2018 • 0 • 5.0

Entrer des identifiants et des mots de passe, on ne fait que ça ! Et la connexion en SSH au Raspberry n'y échappe a priori pas... Jusqu'à la lecture de ce tutoriel ! :)
Il est en effet possible de se connecter facilement à son Raspberry Pi sans aucuns login ni mot de passe et je vais vous montrer comment procéder. On va pour cela utiliser un système de clés asymétriques (aussi appelé clé publique & privée).

Se connecter au Raspberry Pi par clés SSH - Raspberry Lab

Pour résumer le principe de fonctionnement d'un tel système, un algorithme génère paire de clé publique et privée.

Lorsqu'une machine veut recevoir un fichier / une information, elle génère une paire de clé, envoie la clé publique à la machine qui va envoyer le message pour qu'elle crypte le message, et va décrypter le message avec sa clé privée. L'avantage d'une telle méthode est que si quelqu'un arrive à intercepter la clé publique, elle ne pourra pas pour autant décrypter le message. Pour plus d'informations sur le fonctionnement des clés asymétriques, je vous conseille une recherche sur Google !

Prérequis

Pour réaliser ce tutoriel, il vous faudra :

... tous deux connectés au même réseau Wifi.

Générer une paire de clé

Pour commencer, on va générer une paire de clé. Sous Windows, il faut d'abord installer la version Putty Package file. Il contient l'outil que l'on va utiliser pour générer les clés.

Une fois le paquet installé, lancer le programme PuTTYGen. Cette fenêtre va s'ouvrir.

Démarage logiciel PuTTYGEN - Raspberry Lab

Avant de générer une clé, voyons les paramètres qui sont proposées.

Une fois que vous avez choisi tous vos paramètres, cliquez sur Generate. Il faut ensuite bouger la souris dans le cadre vide afin que le logiciel génère une clé.
Une fois la clé générée, la fenêtre devrait ressembler à celle-ci :

Clé générée sur PuTTYGEN - Raspberry Lab
Information

La clé affichée à l'écran est la clé publique. Comme son nom l'indique, elle peut être vue par n'importe qui sans problème : elle permet seulement de crypter une information. A l'inverse, la clé privée doit rester secrète.

On remarque que l'on a la possibilité de remplir des champs de passphrase (c'est comme un mot de passe). Cette dernière va protéger la clé privée, qui sera stockée sur votre ordinateur. A chaque fois que la clé sera utilisée, Putty vous la demandera. Cependant, si vous suivez ce tutoriel pour ne pas taper de mot de passe et que vous êtes sur votre ordinateur personnel, oubliez la passphrase.

Cliquez ensuite sur Save private key pour sauvegarder la clé privée au format .ppk. Ne fermez pas encore PuTTYGen, on va par la suite avoir besoin de copier la clé publique affichée dans le cadre.

Ajouter la clé publique aux authorized_keys

Afin que le Raspberry sache quelles clés sont autorisées à se connecter sans mot de passe, il va falloir que l'on ajoute la clé privée au fichier authorized_keys qui se trouve sur le Raspberry Pi. Connectez-vous donc normalement au Raspberry en SSH et suivez ces instructions. Le fichier authorized_keys peut déjà exister ou pas. S'il existe, il se trouve dans le dossier ~/.ssh. Vérifions d'abord si le dossier a déjà été créé. Pour se faire, entrez :

ls -a ~ | grep "^[.]"

L'exécution de cette commande affiche la liste des fichiers se trouvant dans votre dossier personnel (/home/pi) et commençant par un point. Si le dossier .ssh existe déjà, sautez la partie encadrée.

Créer le dossier .ssh

Si le dossier .ssh n'est pas dans la liste, il n'existe pas. Entrez donc dans la console :

mkdir ~/.ssh

Une fois que c'est fait, vous pouvez vérifier que le dossier a bien été créé en ré-entrant la commande ls -a ~ | grep "^[.]"

.

Maintenant qu'on est sûr que le dossier existe, on peut ajouter notre clé publique au fichier des clés autorisées. Pour se faire, il suffit d'entrer la commande Unix suivante qui ajoute la clé au fichier authorized_keys (et le crée s'il n'existe pas)

echo "VOTRE_CLE_PUBLIQUE" >> ~/.ssh/authorized_keys

En remplaçant, voici un exemple :

echo "ssh-rsa XXXXX== rsa-key-20180205" >> ~/.ssh/authorized_keys

Pour rappel, la clé publique est celle qui est affichée dans le cadre de PuTTYGen.
Notre clé est donc maintenant autorisée ! Vous pouvez fermer la console. Il ne nous reste plus que quelques réglages à faire dans PuTTY, et on se connectera sans entrer aucuns login / mot de passe.

Configuration de PuTTY

Réouvrez PuTTY, et commencez par sauvegarder le Raspberry Pi en entrant son IP, son port, son nom puis en cliquant sur Save.

Sauvegarder session dans PuTTY - Raspberry Lab

Une fois que c'est fait, on va tout d'abord configurer l'utilisateur avec lequel on va se connecter (pi par défaut). Allez dans Connection > Data et remplissez le champ Auto-login username.
La fenêtre devrait ressembler à ceci :

Configurer l'auto login sur PuTTY - Raspberry Lab

Il ne reste maintenant plus qu'une étape : donner l'emplacement de la clé privée à PuTTY. Pour se faire, rendez-vous dans la section Connection > SSH > Auth. Cliquez sur Browse pour sélectionner la clé privée que vous avez sauvegardé à l'étape 1 au format .ppk.

Indiquer l'emplacement de la clé privée dans PuTTY - Raspberry Lab

Tout est fin prêt, retournez dans Session puis cliquez sur Save et enfin sur Open pour lancer la connexion. Si une fenêtre s'ouvre, cliquez sur Accept. PuTTY se connecte alors tout seul au Raspberry, sans que vous ne rentriez aucune information !
C'est sur cette capture d'écran que se termine ce tutoriel. N'hésitez pas à dire ce que vous pensez de ce tutoriel dans l'espace commentaire. Je suis ouvert à toutes recommandations ou questions !

Resultat connexion sans login ni mot de passse en SSH - Raspberry Lab

A lire

Branchement caméra - présentation

Créer et executer un programme Python sur Raspberry Pi


Branchement caméra - présentation

Se connecter au bureau du Raspberry Pi à distance






Ce tutoriel vous a plu ?

starstarstarstarstar

5.0/5 | 9 votes




Commentaires



Commenter
Votre adresse mail ne sera pas visible sur le site.

Les commentaires sous soumis à vérification avant publication.