On génère une clé RSA:
$ ssh-keygen -t rsa -b 1024 -f ~/.ssh/id_rsa Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): <entrée> Enter same passphrase again: <entrée> Your identification has been saved in id_rsa. Your public key has been saved in id_rsa.pub. The key fingerprint is: 28:bd:83:81:b5:8f:22:59:44:26:28:ac:3c:91:e7:60 naxalite@chomp.naxalite
Dans cet exemple, pour ne pas avoir à saisir de mot de passe, on laisse la passphrase vide.
Ensuite, on copie le contenu du fichier ~/.ssh/id_rsa.pub de la machine locale dans le fichier ~/.ssh/authorized_keys de la machine distante.
Attention, la clé publique doit être en une seule ligne dans le fichier ~/.ssh/authorized_keys.
Pour se connecter à la machine il suffit maintenant de faire un simple ssh :
$ ssh username@remotehost
Pour que sshd accepte les clés publique il faut que l'option RSAAuthentication soit activée (c'est le cas par défaut).
Il est possible de gérer plusieurs clés sur une même machine :
il suffit lors de la génération des clés avec ssh-keygen de changer le paramètre -f
et lors de la connexion ssh de spécifier le paramètre -i <chemin nouvelle clé> pour utiliser celle-ci.
Exemple :
$ ssh -i ~/.ssh/id_rsa username@remotehost