Connexion sécurisée à un Raspberry Pi sans mot de passe

Connexion securisee a un Raspberry Pi sans mot de passe.pngv1540814675
Connexion securisee a un Raspberry Pi sans mot de passe.pngv1540814675

On nous dit toujours de choisir un mot de passe long et difficile à deviner pour tous nos comptes, alors comment pouvons-nous nous connecter à un Raspberry Pi sans mot de passe en utilisant ssh (Secure Shell)?

Les mots de passe ne sont pas le moyen le plus sûr de se connecter. Ils peuvent être devinés ou «forcés par la force» en faisant des millions de suppositions en utilisant des mots courants ou des mots de passe connus. Il y a un meilleur moyen; en utilisant des secrets que seuls le Raspberry Pi et l’ordinateur avec lesquels vous vous connectez connaissent sous forme de certificats.

Pour cela, nous utiliserons un outil pour générer ce que l’on appelle une paire de clés privée / publique sur le PC à partir duquel vous allez vous connecter. Vous devez absolument garder secrète la «clé privée» et ne la donner à personne d’autre. Cependant, vous pouvez donner la «clé publique» à toute personne que vous aimez, car elle est inutile sans la clé privée.

Il existe de nombreuses façons de générer les paires de clés, mais une application courante que vous pouvez utiliser pour Windows s’appelle puTTygen. Il fait partie du client puTTy SSH et Telnet pour Windows. Téléchargez-le depuis https://www.putty.org/, en suivant le lien vers la section téléchargements.

Génération des paires de clés

Une fois installé, vous devez exécuter puTTygen. Un écran simple vous sera présenté:

Générateur de clés PuTTy

NE prenez PAS la clé RSA par défaut car elle n’est plus aussi sécurisée qu’auparavant. Au lieu de cela, choisissez ED25519, puis cliquez sur Générer. Il vous sera demandé de déplacer votre souris au hasard dans la zone vide de la fenêtre. Cela donnera au programme «l’entropie», ou «aléatoire» qui est nécessaire pour générer une bonne clé privée:

Génération de clés

Ne vous inquiétez pas, je n’utiliserai cette clé privée nulle part!

N’entrez pas de phrase secrète. Si vous le faites, il vous sera demandé à chaque fois que vous essayez de vous connecter à votre Raspberry Pi.

Il peut être utile de modifier le commentaire clé en le remplaçant par le nom du PC à partir duquel vous allez vous connecter, ce qui facilite la suppression de la bonne ligne si vous avez plus d’un ordinateur accédant à votre Raspberry Pi.

Maintenant, enregistrez vos clés publique et privée dans des fichiers sur votre PC, en les appelant quelque chose comme «myssh.pub» et «myssh.ppk» respectivement. N’oubliez pas de garder la clé privée en sécurité et de la sauvegarder dans votre coffre de mots de passe préféré comme LastPass (vous en utilisez un, n’est-ce pas?).

Vous êtes maintenant prêt à installer la clé publique sur votre Raspberry Pi et la clé privée dans votre client SSH sur votre PC.

Installation de la clé publique

Maintenant, connectez-vous à votre Raspberry Pi en utilisant votre méthode préférée actuelle, que ce soit SSH avec mot de passe ou VNC. Ouvrez une fenêtre de terminal et créez un nouveau dossier à l’aide des éléments suivants:

cd ~

mkdir .ssh

cd ~/.ssh

Maintenant, nous devons créer un nouveau fichier de clé autorisé et copier la clé publique dans celui-ci. La clé publique est affichée dans la zone supérieure de la fenêtre puTTygen:

Alt: la clé publique

Créez et modifiez le fichier avec:

nano ~/.ssh/authorized_keys

Copiez et collez la clé publique dans ce fichier et fermez-la après l’enregistrement en appuyant sur Ctrl + X, en répondant «Y» à la demande d’enregistrement et en appuyant sur Entrée.

Si vous souhaitez accéder à votre Raspberry Pi à partir d’autres ordinateurs, vous pouvez ajouter plusieurs clés publiques au fichier authorized_keys.

Configuration du client SSH

Sur votre PC, je suppose que vous utilisez l’un des deux clients SSH les plus populaires; PuTTy ou KiTTy. Les deux sont très similaires (KiTTy est un fork de PuTTy), mais puisque nous avons installé PuTTy pour pouvoir utiliser PuTTygen, nous l’utiliserons ici.

Ouvrez PuTTy. Une liste des sessions enregistrées ou des ordinateurs pour lesquels vous avez précédemment enregistré les informations de connexion vous sera présentée:

Mastic

Saisissez le nom d’hôte ou l’adresse IP du Raspberry Pi que vous souhaitez vous connecter dans la zone «Nom d’hôte» et laissez le port sur 22 et le type de connexion sur SSH.

Ensuite, cliquez sur Données sous Connexion. Entrez «pi» dans le nom d’utilisateur de connexion automatique »:

Configuration de l'utilisateur SSH

Cliquez sur le + à côté du SSH sous la catégorie Connexion à gauche:

Les options SSH

Et puis sélectionnez « Auth »:

Configuration d'authentification PuTTy

C’est là que vous allez dire à PuTTy d’utiliser votre clé privée pour se connecter à votre Raspberry Pi. Cliquez sur Parcourir et sélectionnez votre fichier .ppk enregistré à partir de PuTTygen.

PuTTy - Définition de la clé privée

Revenez à l’écran Session en faisant défiler jusqu’en haut de la barre de défilement vers la gauche et en sélectionnant «Session». Saisissez le nom de votre Raspberry Pi dans le champ Sessions enregistrées et cliquez sur Enregistrer.

PuTTy - Sauvegarde de la configuration

Cliquez maintenant sur Ouvrir. Cela ouvrira un terminal SSH à votre Raspberry Pi avec vous connecté:

SSH - Connexion

Fin de la configuration

Désactiver la connexion avec un mot de passe

Une fois que vous avez testé la connexion avec les paires de clés, vous pouvez désormais désactiver la connexion avec le nom d’utilisateur / mot de passe pour terminer la configuration.

Le «démon ssh», le service sur Raspberry Pi qui vous permet de vous connecter en utilisant ssh, doit cesser de pouvoir demander un nom d’utilisateur / mot de passe. Pour ce faire, ssh dans votre Raspberry Pi et éditez le fichier sshd_config avec:

sudo nano /etc/ssh/sshd_config

Modifiez la ligne PasswordAuthentication en décommentant la ligne (en supprimant le «#») et en changeant l’option de «oui» à «non»:

PasswordAuthentication no

Vous devrez ensuite redémarrer le démon ssh en redémarrant le Raspberry Pi avec:

sudo reboot

Protection du fichier ‘authorized_keys’

S’il y a d’autres utilisateurs qui ont des comptes sur le Raspberry Pi, autres que «pi» lui-même, alors ils peuvent être en mesure d’afficher et d’autoriser le fichier de clés, soit en modifiant ce qui est là, soit en ajoutant le leur. Par conséquent, il est recommandé de protéger le fichier de tous, sauf de l’utilisateur «pi», en permettant uniquement à l’utilisateur «pi» de le voir et de le modifier. Pour ce faire, émettez ce qui suit à partir d’une fenêtre de terminal:

chmod 700 ~/.ssh/authorized_keys

Conclusion

Maintenant, chaque fois que vous utilisez PuTTy pour vous connecter à votre Raspberry Pi vous obtiendrez directement, sans être invité à entrer un mot de passe.

  • MediaTek Ralink RT5370N Adaptateur USB sans Fil pour Raspberry Pi 3 Pi 2 Pi Win 10 Linux 802.11n/g/b USB 2.0 pour Ordinateur de Bureau Noir
    Compatibilité multi-systèmes, prend en charge Windows 10, 8.1, 8, 7, XP, Vista, Mac 10.6 ou supérieur, Linux, Raspberry Pi Pi 2 pi 3 Puce MediaTek RT5370N d'origine à l'intérieur, haute stabilité du signal Vitesse sans fil jusqu'à 150 Mbps, bande unique 2,4 GHz IEEE 802. 11 b/g/n Compatible avec la plupart des ordinateurs portables, ordinateurs de bureau, routeurs, projecteurs Installation facile, connexion WiFi sécurisée WPA, WPA2, WPA-PSK, WPA2-PSK