Connection SSH sans Mot de passe

Sur la machine A (en utilisateur benjamin) :
ssh-keygen -t rsa
puis 3 fois Entrée

Cette commande me génère une clé publique et une clé privée (dans l'ordre, id_rsa.pub et id_rsa) dans le dossier /home/benjamin/.ssh


Ensuite, il faut copier la clé publique (id_rsa.pub) dans un fichier authorized_keys dans le dossier /root/.ssh de la machine B.


Sur la machine B :
sudo mkdir /root/.ssh
Créer le dossier /root/.ssh


Sur la machine A :
 ssh-copy-id root@192.168.1.4
 Cette commande se chargera de créer le répertoire .ssh et de remplir le fichier authorized_keys automatiquement sur la machine distante.

Toujours sur la machine A (en utilisateur benjamin) :
ssh root@192.168.1.4
(puis confirmer avec yes)

Plus aucun mot de passe ne sera demandé.

Le fichier /home/benjamin/.ssh/known_hosts contient les 'identifiants' du pc sur lequel on a voulu se connecter.

Note : Pour améliorer la sécurité de ces connexions par clé RSA, nous pouvons restreindre l'utilisation de la clé d'authentification à l'adresse IP de la machine A en ajoutant from="" devant la clé dans le fichier authorized_keys.
Ce dernier ressemblera donc à ceci :
from="192.168.1.2" ssh-rsa AB3NzaC1yc2EAzYABIwAb[...]

Pour les connexions SSH sur un port autre que le port 22, il faut lancer la commande
ssh-copy-id "-p 2224 root@192.168.1.4"

Commentaires

Posts les plus consultés de ce blog

Comment flasher un appareil SonOff facilement sous Ubuntu