Connexion SSH sans mot de passe

Pour ce connecter sur un serveur distant via SSH sans devoir entrer son mot de passe à chaque connexion, il suffit de créer un certificat sur la machine cliente et de copier ensuite la clé publique sur le serveur distant.
Sur la machine cliente:
On commence donc par générer les clés nécessaires:
ssh-keygen -t rsa
Cette commande à généré deux clés dans le répertoire .ssh de l’utilisateur courant. La clé publique (id_rsa.pub) et la clé privée (id_rsa). On copie dans le presse-papier le contenu de la clé publique que l’on copiera ensuite sur le serveur distant.
cat /root/.ssh/id.rsa.pub
On se connecte ensuite sur la machine distante:
ssh [email protected]
La première fois il est nécessaire d’ajouter le “Fingerprint”, pour cela il suffit d’accepter le message suivant tapant “yes”, ou “oui” selon la langue du serveur:
The authenticity of host 'mon.serveur.com (192.168.0.1)' can't be established. RSA key fingerprint is de:56:2e:77:c9:5b:40:12:0c:f6:da:90:f3:cf:82:2d. Are you sure you want to continue connecting (yes/no)?
Sur la machine distante:
Une fois connecté sur le serveur, on effectue les opération suivantes:
chmod 700 .ssh
cd .ssh
touch authorized_keys
chmod 600 authorized_keys
On édite le fichier authorized_keys
et on y colle le contenu (qui devrait toujours être dans le presse-papier) du fichier id_rsa.pub, la clé publique générée sur la machine cliente un peu plus tôt…
nano authorized_keys
On se déconnecte du serveur avec la commande:
logout
Sur la machine cliente:
Maintenant il devrait être possible de se connecter sans mot de passe :
ssh [email protected]