Installer sa clé SSH sur un serveur distant
Qui n'a jamais pesté d'avoir à constamment taper et se souvenir de dizaines de mots de passe, quand on utilise plusieurs serveurs différents ? Moi, en tous cas.
Le principe est simple : générer une clé privée et une clé publique, toutes deux cryptées, et d'ajouter votre clé publique à la liste des clés autorisées du serveur distant afin de permettre l'authentification automatique sur ce dernier. Ainsi, vous pouvez définir une seule et même passphrase (mot de passe) pour vous logguer à toutes vos machines
Voici la procédure : d'abord - et si ce n'est déjà fait - il vous faut installer le client openSSH :
$ sudo apt-get update $ sudo apt-get install openssh-client
Il faudra de même disposer de ssh-server sur la machine distante.
Ceci fait, il vous faut générer vos clés publiques et privées :
$ ssh-keygen -t dsa -b 1024 Generating public/private dsa key pair.
Là, il vous faut répondre à une petite série de questions :
Enter file in which to save the key (/home/monlogin/.ssh/id_dsa):
Appuyez sur Entrée, vos clés seront sauvegardées dans le repertoire caché .ssh.
Enter passphrase (empty for no passphrase): Enter same passphrase again:
Une fois votre passphrase entrée, un message de confirmation de création est affiché :
Your identification has been saved in /home/monlogin/.ssh/id_dsa. Your public key has been saved in /home/monlogin/.ssh/id_dsa.pub. The key fingerprint is: XX:8a:XX:91:XX:ae:XX:23:XX:2e:XX:ed:XX:4e:XX:b8 monlogin@mamachine
Ensuite, il vous faut ajouter votre clé publique à la liste des clés autorisées du serveur distant. En admettant que votre serveur se nomme toto.host.org et que votre nom d'utilisateur est titi [1], cela donne :
$ ssh-copy-id -i ~/.ssh/id_dsa.pub titi@toto.host.org Password:
Entrez le mot de passe de l'utilisateur titi sur la machine distante. Si l'opération d'ajout de votre clé a réussi, un message est affiché :
Now try logging into the machine, with "ssh 'titi@toto.host.org'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
Et voila, il ne vous reste plus qu'à lancer un ssh titi@toto.host.org, il vous sera demandé votre passphrase et vous serez loggué
$ ssh titi@toto.host.org Enter passphrase for key '/home/monlogin/.ssh/id_dsa':
Si port SSH différent de 22 :
ssh-copy-id -i ~/.ssh/id_rsa.pub « -p 2222 user@host »
Elle est pas belle, la vie ?