Configuration des clés SSH sur le Raspberry Pi

Configuration des clés SSH sur le Raspberry Pi

La configuration de clés SSH sur un Raspberry Pi est relativement simple et peut rendre la connexion à une sur un réseau plus pratique. Dans ce tutoriel, nous expliquerons comment créer et configurer des clés SSH afin que vous puissiez vous connecter à distance à un Pi sans avoir à saisir de mot de passe.

Les clés SSH sont créées à l’aide de la « cryptographie à clé publique ». Il s’agit d’un concept où une clé publique est stockée sur l’appareil distant (c’est-à-dire un Raspberry Pi) et une clé privée est utilisée par le propriétaire pour prouver qu’il possède les clés. La clé publique pourrait être donnée à tout le monde mais la clé privée doit être gardée secrète.

En pratique, les clés sont de longues chaînes de caractères stockées dans un fichier texte.

Pour continuer ce didacticiel, vous devez avoir soit un accès direct au Pi avec un clavier et un moniteur, soit un accès à distance via SSH ou VNC.

Étape 1 : Créer un répertoire SSH et un fichier authorised_keys

Pour commencer, accédez au répertoire personnel :

cd ~

et créez un nouveau répertoire appelé « ssh » :

mkdir .ssh

Naviguez dans le nouveau répertoire :

cd .ssh

et créez un fichier « authorized_keys » vide :

touch authorized_keys

Étape 2 : Définir les autorisations

Les permissions sur le répertoire ssh doivent être modifiées :

chmod 700 ~/.ssh

Modifiez ensuite les autorisations sur le fichier « authorized_keys » afin que seul l’utilisateur Pi puisse lire et écrire :

chmod 600 ~/.ssh/authorized_keys

Étape 3 : Création d’une nouvelle paire de clés

Si vous souhaitez créer une nouvelle paire de clés, c’est facile à faire à l’aide de l’utilitaire ssh-keygen.

Accédez au répertoire SSH :

cd ~/.ssh

puis lancez l’utilitaire ssh-keygen :

ssh-keygen

Vous serez invité à indiquer un emplacement pour enregistrer le fichier de clé. Appuyez sur ENTER pour accepter la valeur par défaut.

Une phrase secrète vous sera demandée. Ceci est facultatif. Si vous utilisez un mot de passe, il peut vous être demandé lors de l’utilisation de la clé. Il s’agit d’une étape de sécurité supplémentaire et vous devrez décider si vous souhaitez l’utiliser. Saisissez une phrase secrète ou laissez-la vide et appuyez sur ENTRÉE pour terminer.

Si vous utilisez une phrase secrète, ne l’oubliez pas !

Ce processus devrait créer deux fichiers pour vous. Une clé publique nommée « id_rsa.pub » et une clé privée correspondante nommée « id_rsa ».

Ajoutez le contenu de la clé publique au fichier allowed_keys en utilisant :

cat id_rsa.pub >> authorized_keys

Certains clients préfèrent les clés de style PuTTY. Je recommanderais de créer ce format maintenant afin que vous ayez le choix à l’avenir. Les commandes suivantes installeront puttygen et créeront une version PuTTY de votre nouvelle clé :

sudo apt-get install putty-tools

ensuite :

puttygen id_rsa -o id_rsa.ppk

Vous devriez maintenant avoir trois fichiers :

  • id_rsa
  • id_rsa.pub
  • id_rsa.ppk

Copiez ces fichiers dans un emplacement sûr. La clé privée (id_rsa ou id_rsa.ppk) est requise par le client que vous utilisez pour vous connecter au Pi. Il peut s’agir d’un PC, d’un ordinateur portable ou d’un téléphone portable. La clé publique (id_rsa) est utilisée par le Pi auquel vous souhaitez vous connecter.

Vous pouvez utiliser la même clé publique sur plusieurs appareils tant que vous disposez de la clé privée correspondante.

Une fois que vous avez stocké en toute sécurité les clés ailleurs, elles peuvent être supprimées du Pi :

rm id_rsa
rm id_rsa.pub
rm id_rsa.ppk

Étape 4 : Ajout d’une clé existante

Si vous possédez déjà une paire de clés publique/privée, vous pouvez ajouter la clé publique au fichier « authorized_keys ».

Vous disposez de deux méthodes pour mettre les détails de la clé publique dans le fichier de clés.

La première méthode consiste à éditer directement le fichier de clés :

nano authorized_keys

et collez le contenu du fichier de clé publique dans l’éditeur. Utilisez CTRL-X, Y et ENTER pour enregistrer les modifications et revenir à la ligne de commande.

La deuxième méthode consiste à copier le fichier de clé publique (par exemple id_rsa.pub) dans le répertoire .ssh. Utilisez ensuite la commande suivante pour l’ajouter au fichier de clés :

cd ~/.ssh
cat id_rsa.pub >> authorized_keys

où « id_rsa.pub » est votre fichier de clé publique.

Une fois le fichier authorised_keys mis à jour vous pouvez supprimer le fichier id_rsa.pub :

rm id_rsa.pub

Étape 5 : Configurer le client SSH

À ce stade, vous devriez pouvoir utiliser votre client SSH préféré pour vous connecter au Pi, mais plutôt que de spécifier un mot de passe, vous pouvez le faire pointer vers la clé privée. Le processus exact pour le faire dépendra du client utilisé.

A titre d’exemple voici les paramètres de session dans WinSCP :

Paramètres SSH de la session WinSCP

L’adresse IP et le nom d’utilisateur doivent être spécifiés. Sous « Avancé », il permet de sélectionner un fichier de clé privée. WinSCP préfère les clés de style Putty mais convertira une clé OpenSSH en un ppk en un seul clic.

D’autres clients SSH fonctionnent de manière similaire.

Étape 6 : Connectez-vous

Si elles sont correctement configurées, les connexions au Pi peuvent désormais être effectuées sans avoir à saisir de mot de passe.

Bien que de nombreux clients puissent mémoriser les mots de passe, l’avantage des clés SSH est que vous pouvez utiliser le même fichier de clé dans tous vos clients. Si vous modifiez le fichier de clé, vous n’aurez pas à changer le mot de passe à tous les endroits où vous vous en souviendrez.

Vous pouvez également stocker la clé privée sur un lecteur amovible ou dans un conteneur crypté (c’est-à-dire Veracrypt). Cela signifie que si votre ordinateur est volé, les connexions à vos appareils ne fonctionneront pas, même si quelqu’un peut ouvrir votre client SSH et voir vos sessions enregistrées. Pas de fichier clé pas d’accès !

Convertissez des fichiers PPK en clés privées et publiques avec puttygen

À un moment donné, vous devrez peut-être convertir un fichier Putty PPK en fichiers de clés de style OpenSSH. Voici les commandes que vous pouvez utiliser pour convertir un PPK en clés privées et publiques :

puttygen my_key.ppk -O private-openssh -o my_key.private

puttygen my_key.ppk -O public-openssh -o my_key.public

Ce guide vous permettra de vous connecter à votre Pi à l’aide de clés SSH, mais l’approche standard nom d’utilisateur/mot de passe fonctionnera toujours. Assurez-vous d’avoir remplacé le mot de passe par défaut du Raspberry Pi par un mot de passe sécurisé. J’ai tendance à utiliser un mot de passe d’au moins 15 caractères.

Il est possible de s’appuyer complètement sur les clés SSH et de désactiver la possibilité de se connecter avec un mot de passe. Cependant, cela dépasse le cadre de ce guide.

  • MakerFun USB Clé USB Adaptateur Dongle pour Raspberry Pi Zero/Zero W
    Le dongle USB pour Raspberry Pi Zero / Zero W vous aide à créer un PC portable facile d'accès avec Raspberry Pi Zero / Zero W.Ne nécessite pas de fil de soudure et de câblage avec le module à raspberry Pi. Il peut faire de votre Raspberry Pi Zero / Zero W une clé PC, de sorte que vous puissiez le brancher sur votre ordinateur et accéder au système d'exploitation Raspbian à partir du service SSH ou du service VNC installé sur la carte TF de Raspberry Pi. Il utilise les points de test sous votre Pi Zero pour connecter un connecteur USB de taille normale. Le forfait comprend: 1 x carte d'extension de dongle USB, 4 x vis longues M2,5, 4 écrous M2,5, 2 x feuilles acryliques Support technologique: https: //wiki.52pi.com/index.php/USB_dongle_for_Raspberry_Pi_Zero/Zero_W_SKU: EP-0097
  • Phoscon RaspBee II - Passerelle Universelle Raspberry Pi Zigbee 3.0, avec Application deCONZ & Phoscon, domotique, Assistant Domestique, ioBroker, Zigbee2MQTT
    La passerelle universelle Raspberry Pi Zigbee combine les produits Zigbee populaires de plusieurs fabricants. Solution automatique sans cloud, sans enregistrement ni connexion Internet nécessaires. Grâce à son amplificateur de signal, le ConBee II a une portée exceptionnelle. Horloge en temps réel intégrée (RTC). Pour Raspberry Pi 1, 2B, 3B, 3B+ et 4B (non inclus).
  • Bqeel Raspberry Pi 4 Modèle B, 4G+ 32 Go Classe 10, 5V 3A Alimentation Interrupteur Marche/Arrêt, Ventilateur, Dissipateur, Boîtier Noir, Lecteur de Carte, Câble HDMI (4G)
    【Raspberry Pi 4 Modèle B】: Carte Mère Raspberry Pi 4 Modèle B Officielle 8 Go de RAM : SoC 64 bits Broadcom BCM2711 ARM Cortex-A72 ( ARM v8 ) avec quatre cœurs à 1,5GHz. La vitesse de fonctionnement est plus de 3 fois supérieure à celle de Raspberry Pi 3B+. Capable de prendre en charge des flux HEVC 4K à 60 fps et de gérer 2 écrans en 4K avec 2 ports micro HDMI. Bluetooth est mis à jour à 5.0 et le WiFi bi-bande est 802.11b/g/n/ac ( 2,4/5.0 GHz ) avec un port d’Ethernet Gigabit. 【5V 3A Adaptateur d’alimentation】: Équipé 5V 3A Adaptateur d’alimentation USB-C avec Interrupteur ON/OFF 1,3M, il est spécialement conçu pour la dernière version de Raspberry Pi 4 Modèle B de 4 GB RAM. Pratique à fournir 5V 3A puissance pour soutenir overclocker ou pour utiliser le disque dur externe, assez puissant pour distributions comme media center, raspan. Et il y a la protection contre les courts-circuits/les sous-tensions/les surtensions/la surtempérature/les surintensités. 【32 Go Carte】: 32 Go Class 10, qui est facile de démarrer Raspberry Pi 4 Modèle B avec Raspbian. Equipé d'un lecteur de carte, USB compatible avec USB-A&USB-C. Les transferts via les 2 ports USB 3.0 jusqu’à 10 fois plus rapides que port USB 2.0. 【Dissipation Thermique Excellente】: Équipé d’un mini ventilateur puissant et de 3 dissipateurs de chaleur en cuivre pour une dissipation thermique impeccable. Boîtier noir spécialement conçu pour le Raspberry Pi 4 Modèle B avec accès aisé à tous les orifices et compatible avec les accessoires fournis, équipé d’couvercle amovible pour accéder GPI0 et d’ouvertures de ventilation. 【Contenu de l'Emballage】: 1*Raspberry Pi 4 Modèle B; 1*5V 3A Adaptateur d'alimentation avec interrupteur marche/arrêt (1,3M); 1*32 Go Carte; 1*Boîtier noir pour le Raspberry Pi 4 Modèle B; 1*Lecteur de carte compatible avec USB-A&USB-C; 1*Câble HDMI de haute qualité avec le support CEC; 1*Ventilateur puissant; 3*Dissipateurs de chaleur en cuivre; 1*Manuel en Français. (Garantie de 12 mois)