• HOME
  • HTML
  • CSS
  • PHP
    • Début d'une page - Variable
    • Afficher et Concaténer des variables
    • Symboles à connaître
    • Conditions: IF, ELSE, ELSEIF
    • Conditions AND, OR
    • Conditions SWITCH
    • Boucles WHILE, FOR
    • Les tableaux / EN COUR ...
    • Les fonctions / Bientôt ...
  • SQL
    • Installer MYSQL
    • Interroger une base de données
    • Requete SQL / prochainement
    • PhpMyadmin serveur / prochainement
  • RÉSEAU
    • Afficher le mot de passe wifi
    • Le model OSI
    • Cisco Packet Tracer
    • WINDOWS 10 : LA DÉCOUVERTE DU RÉSEAU NE FONCTIONNE PAS
  • LINUX
    • Mettre à jour linux
    • Commandes Linux
    • permissions
    • Installer nginx (Serveur Web)
    • Installer Composer 2
    • Installer Symfony
    • Installer Mysql sur Ubuntu
    • VIM + liste commande
    • Installer Prestashop
    • Odoo / prochainement
    • Sécuriser un site avec HTTPS (Cerbot)
    • Android Téléphone Virtuel
    • Espace d'échange (swap)
    • Raspberry Pi : Authentification SSH par certificat
    • Ubuntu Software
  • WINDOWS
    • Créer une clé USB multiboot / prochainement
    • WSL2
    • WSL2 accéder aux fichiers Linux depuis Windows
    • WSL2 Sauvegarder et restaurer vos distrib Linux
    • Mot de passe Windows perdu
    • Effacer totalement un disque dur ou un SSD
    • Sauvegarder / Restaurer les drivers Windows
    • VMware Workstation / prochainement
    • Comment activer le bac à sable dans Windows 11 / prochainement
  • RASPBERRY
    • Créez une carte SD Raspbian pour votre Raspberry Pi depuis Windows
    • Premier démarrage
    • Mettre à jour son Raspberry
    • Mettre à Jour Raspberry Pi OS
    • Voir le réseau raspberry depuis Windows
    • Se connecter au bureau de son Raspberry depuis un PC Windows
    • Ouvrir les ports
    • SSH
    • Faire un NAS
    • Transmission
    • HTML - PHP - MYSQL - PHP ADMIN / Bientôt ...
    • Plusieurs sites Web à partir d'un seul et même serveur
    • Plex seveur multimédia
    • Recalbox / Kodi pour raspberrypi 3b+ / Bientôt
    • Mettre tout le système sur disque dur USB ou SSD
    • Installer Spotify
  • DIVERS
    • Programme
    • Ebook
    • Formation
    • LIENS

Raspberry Pi : Authentification SSH par certificat

Par défaut, lorsque nous nous connectons à notre Raspberry Pi en SSH, nous nous identifions par l’intermédiaire d’un login / mot de passe.
Pour parer à l’éventualité ou un pirate réussirait à trouver notre mot de passe, nous allons le désactiver et le remplacer par un certificat sous forme de clef privée, clef publique.


  • Pour commencer, dans le Terminal du client nous allons taper ceci :
  • ssh-keygen -t rsa -C "MonNom@MonOrdinateur"
    « MonNom@MonOrdinateur » est un commentaire.
    Vous pouvez mettre ce que vous voulez.
    Il vous servira à repérer votre clef publique parmi d’autres dans le fichier ~/.ssh/authorized_keys que nous créerons plus tard sur le serveur.


  • La commande vous demandera d’indiquer le nom du fichier dans lequel sauver les clefs :
  • Generating public/private rsa key pair.
    Enter file in which to save the key (/Home/User/.ssh/id_rsa):
    Faites juste [ENTER]. La clef sera générée et placée dans le dossier .ssh/id_rsa (caché) de l’utilisateur courant du client qui génère les clefs.


  • Vous devrez ensuite choisir une phase de passe associée à votre paire de clef. Elle vous sera demandée lors de chaque connexion au serveur pour valider votre clef. Elle doit faire entre 10 et 30 caractères. Vous pouvez vous en passer en faisant [Enter].
  • Enter passphrase (empty for no passphrase):

  • Entrez la phrase de passe une seconde fois pour confirmer qu’il n’y a pas de faute de frappe.
  • Enter same passphrase again:

  • Et la paire de clefs est générée.
  • Your identification has been saved in id_rsa.
    Your public key has been saved in id_rsa.pub.
    The key fingerprint is:
    ad:cd:d8:b8:73:23:e1:13:a6:49:ad:42:a6:d5:d8:c7 MonNom@MonOrdinateur
    The key's randomart image is:
    +--[ RSA 2048]----+
    | |
    | |
    | |
    | . |
    | + oS . |
    | = + EB |
    | = . B+o+ |
    | . . + =.o |
    | . .= . |
    +-----------------+

    Ajout de la clef publique au fichier authorized_keys du serveur

    Nous allons maintenant ajouter notre clef publique au fichier authorized_keys situé dans le dossier /home/user/.ssh du serveur pour permettre à chaque utilisateur de s’identifier avec sa clef privée.
    Ici, par défaut, user pourrait être l’utilisateur pi.

    Le fichier authorized_keys peut contenir plusieurs clef publiques.
    Par exemple, si vous avez une clef pour chaque ordinateur qui s’y connecte.
    Ceci permet de supprimer une clef publique lorsque son pendant privé a été compromis.


  • Depuis le client; on tape :
  • cat ~/.ssh/id_rsa.pub | ssh @ 'cat >> ~/.ssh/authorized_keys'

  • Une ligne sera ajoutée au fichier ~/.ssh/authorized_keys sur le serveur sous la forme :
  • ssh-rsa  MonNom@MonOrdinateur

    Configuration de SSH Deamon (sshd)


  • Nous allons éditer le fichier de configuration de sshd :
  • sudo nano /etc/ssh/sshd_config

  • Dans le fichier, nous allons dé-commenter les lignes suivantes :
  • PubkeyAuthentication yes
    RSAAuthentication yes
    AuthorizedKeysFile %h/.ssh/authorized_keys

  • On enregistre le fichier et on redémarre ssh :
  • sudo service ssh restart
    Si tout s’est bien passé, vous devriez pouvoir vous connecter sans entrer de mot de passe.
  • Vous pouvez rééditer le fichier sshd_config et modifier la ligne PasswordAuthentication en remplaçant yes par no
  • sudo nano /etc/ssh/sshd_config

    PasswordAuthentication no


    source : https://www.fanjoe.be/?p=1600