Wiki GeRgOsNet Notes d’administration système, réseau et domotique

Vous consultez une ancienne version, enregistrée le 16 juin 2019 par GreG. Voir la version actuelle.

Installer sa clé SSH sur un serveur distant

Migration depuis l’ancien wiki MediaWiki

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 ?