Installation d'une clé SSH sur un serveur distant

Si comme moi, vous n’arrivez pas à retenir la dizaines de mots de passe nécessaires pour se connecter aux différents serveurs, voici une astuce pratique : l’utilisation de clé d’authentification.

Le principe est assez simple : on génère une clé privée et une clé publique, toutes les deux cryptées, sur notre ordinateur local. Ensuite il suffit d’ajouter notre clé publique à la liste des clés autorisées sur le serveur distant : on s’authentifie alors automatiquement sur ce dernier. On peut utiliser le même couple de clés pour s’authentifier sur différents serveurs.

La procédure est décrite pour les utilisateurs Mac et Linux

Première étape : générer votre couple de clé privée et publique.

Dans le terminal, saisissez la commande suivante :

ssh-keygen -t dsa -b 1024

Qui nous permet de générer le couple de clé en utilisant l’algorithme DSA sur 1024 bits. On doit répondre à quelques questions :

  • L’endroit où stocker les clés :

    Enter file in which to save the key (/home/monlogin/.ssh/id_dsa):

Si vous valider, vos clés seront sauvegardées dans le repertoire caché .ssh, dans le fichier id_dsa

  • Le mot/la phrase de passe

    Enter passphrase (empty for no passphrase): Enter same passphrase again:

Plus c’est long, mieux c’est !

  • Un message nous confirme la création :

    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:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX monlogin@mamachine

Seconde étape : ajouter la clé publique à la liste des clés autorisées sur le serveur

Nous devons ajouter notre clé publique à la liste des clés autorisées du serveur distant. Dans l’exemple, le serveur se nomme bidule.serveur.fr et que notre nom d’utilisateur est toto.

ssh-copy-id -i ~/.ssh/id_dsa.pub toto@bidule.serveur.fr

ou

cat ~/.ssh/id_rsa.pub | ssh toto@bidule.serveur.fr "cat - >> ~/.ssh/authorized_keys"

Nous devons saisir le mot de pas de l’utilisateur toto sur la machine bidule.serveur.fr.

Et voila ! Pour test si tout fonctionne bien, saisir ssh toto@bidule.serveur.fr dans le terminal il vous sera demandé votre passphrase et vous serez identifié directement !

ssh toto@bidule.serveur.fr

Enter passphrase for key '/home/monlogin/.ssh/id_dsa':

La saisie de la passphrase n’est à faire que la première fois que vous utilisez le couple de clé, après ce sera automatique ! Le gain de temps et surtout vous n’aurez plus à pester pour retrouver le mot de passe de votre compte SSH.

Astuce pour se simplifier la vie

Si comme moi, vous devez vous identifier sur de nombreux serveurs, un système de raccourcis (alias) est très pratique.

Éditez le fichier .bash_profile (sous MAC) ou .bashrc (sous LINUX) qui est présent à la racine de votre compte sur votre machine. Pour cela dans le terminal, saisissez :

nano ~/.bash_profile            ou      nano ~/.bashrc

Vous pouvez saisir autant d’alias de commandes du terminal que vous voulez. Elle sont sous la forme :

 alias <raccourci>='<commande>'

Ce qui nous donne par exemple :

alias sshbidule='ssh toto@bidule.serveur.fr'

Sauvegarder le fichier (CTRL + X sous Nano), Pour que les modifications soient prises en compte, il faut recharger le fichier :

  • soit en saisissant dans le terminal

    . .bash_profile ou . .bashrc

  • soit en fermant et rouvrant le terminal

Voila ! Maintenant vous pouvez tester votre alias :

sshbidule
Thème Bleak d'après zutrinken © Nicolas Ogier 2014 - Mise à jour : 5 février 2018 à 00:05