Se connecter en ssh sans mot de passe
Objectif
Il peut arriver qu'il soit utile de se connecter à une autre machine (ou à autre compte sur la même machine) en SSH sans mot de passe. Nous ne rentrerons pas sur les aspects de sécurité: la compromission éventuelle d'un compte compromettrait les comptes distants ouverts de la sorte.
Principe
Il faut s'identifier une fois en copiant sa clé publique sur le serveur
Mise en oeuvre
Requisit
Installation de SSH
Il faut évidemment disposer du client SSH sur la machine qui va se connecter
sudo apt install openssh-client
et du serveur SSH sur la machine sur laquelle on veut se connecter
sudo apt install openssh-server
Disposer d'une clé RSA1 sur son compte
Si vous n'avez pas de bi-clé (clé privé + clé publique) pour votre compte, vous devez vous en créer une par:
ssh-keygen -t rsa
Copie de la clé publique sur le serveur
On peut le faire à la main, mais il existe une commande dédiée alors ne nous privons pas!
ssh-copy-id ~/.ssh/id_rsa.pub utilisateur_distant@machine_distante
En cas de pépin
Il peut arriver qu'il faille effacer une identification préalable qui bloque. Cela se fait de la façon suivante:
ssh-keygen -R machine_distante
Le mieux est d'ailleurs de faire l'opération pour le nom du serveur et pour son IP
Notes de bas de page:
Si vous ne connaissez pas l'histoire de RSA, vous devrier consulter ce document: https://repo.zenk-security.com/Cryptographie%20.%20Algorithmes%20.%20Steganographie/RSA.pdf