J’ai une machine (A), avec un compte « ruben » à partir de laquelle je souhaite me connecter en root sur une autre machine (B) sans demande de mot de passe.
Sur la machine A (en utilisateur ruben) :
ssh-keygen -t rsa, puis 3 fois sur la touche 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/ruben/.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 :
scp /home/ruben/.ssh/id_rsa.pub 192.168.0.4:/root/.ssh/authorized_keys
En supposant que l’adresse IP de la machine B soit 192.168.0.4.
Il faut, uniquement cette fois, taper le mot de passe root de la machine B. Cette commande copie le fichier /home/ruben/.ssh/id_rsa.pub dans le fichier /root/.ssh/authorized_keys de la machine B (même si ce fichier n’existe pas).
Toujours sur la machine A (en utilisateur ruben) :
ssh root@192.168.0.4 (puis confirmer avec yes)
Plus aucun mot de passe ne sera demandé.
Note : Le fichier /home/ruben/.ssh/known_hosts contient les ‘identifiants’ du serveur sur lequel on a voulu se connecter.
Résumé :
– Je génère une clé publique ssh avec le compte ruben sur la machine A,
– je la copie sur la machine B dans le fichier /root/.ssh/authorized_keys (si je veux avoir accés au compte root sans mot de passe),
– A partir de la machine A (avec le compte ruben) je me connecte en ssh sur la machine B (ssh root@adresse_ip_machineB)
– il se créé donc un fichier /home/ruben/.ssh/known_hosts contenant l’identitée de la machine B.
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.0.2″ ssh-rsa AB3Nstr1yc2EAzYABIwAb[…]
Attention, je donne cette astuce à titre informatif avant tout, utilisez la avec prudence, en effet, laisser un accés libre sur une machine en root est un manque de sécurité évident, malgré toutes les précautions préalables.