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.
ssh-keygen -t rsa -C "MonNom@MonOrdinateur"
« MonNom@MonOrdinateur » est un commentaire.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.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
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 |
| . .= . |
+-----------------+
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.
cat ~/.ssh/id_rsa.pub | ssh @ 'cat >> ~/.ssh/authorized_keys'
ssh-rsa MonNom@MonOrdinateur
sudo nano /etc/ssh/sshd_config
PubkeyAuthentication yes
RSAAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
sudo service ssh restart
Si tout s’est bien passé, vous devriez pouvoir vous connecter sans entrer de mot de passe.
sudo nano /etc/ssh/sshd_config
PasswordAuthentication no
source : https://www.fanjoe.be/?p=1600