Un geekdeplus’s Blog

Posts Tagged ‘keychain

Pendant bien longtemps je m’étais résigné à entrer mes login et mots de passe à la main sous prétexte que les clés SSH c’est compliqué.

Et ben, je me suis trompé et je peux vous assurer que c’est super pratique et simple à mettre en oeuvre.

D’abord il faut se créer une clé ssh

login@machine:# ssh-keygen -t dsa -f nomdelacle
Generating public/private dsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in test.
Your public key has been saved in test.pub.
The key fingerprint is:
f7:35:e1:eb:c8:73:6a:75:01:51:62:ab:14:0f:55:91 login@machine

Vos clés se trouvent maintenant sous votre home dans le répertoire .ssh (cd ~/.ssh). Il y a 2 fichiers test et test.pub.

  • test est votre clé privé
  • test.pub est votre clé public

Au moment de la génération de la clé, vous pouvez la protéger par un mot de passe. Il vous sera demandé ensuite à chaque fois que vous utilisez votre clé. Sauf si vous utilisez un agent ssh. Voir plus loin.

Partage de la clé publique

Pour pouvoir se connecter sur une autre machine avec cette clé, vous devez copier votre clé publique sur le serveur de destination.

Pour cela:

ssh-copy-id -i ~/.ssh/test.pub logindistant@serveursshdistant

On vous demande alors le mot de passe du login distant. La clé est copiée et configurée pour être utilisée.

Maintenant vous pouvez faire un ssh logindistant@serveursshdistant et vous constaterez qu’on vous demande plus votre mot de passe !

Mais dans le cas où l’on veut protéger sa clé pas une passphrase (mot de passe), vous me dirais « ça sert à rien de retaper un autre mot de passe à chaque fois ».

Pour cela on va utiliser keychain qui permet de charger une fois pour toute la session notre clé.

Utilisation de Keychain

Keychain permet de charger la clé par l’intermédiaire de ssh-agent. On lancera keychain dès l’ouverture de la première console en modifiant votre ~/.bashrc

D’abord vous devez installer keychain (selon votre distribution).

Ensuite on modifie le bashrc de votre session

vi ~/.bashrc

A la fin du fichier ajouter les 2 lignes suivantes:

keychain ~/.ssh/test_dsa
source ~/.keychain/votremachine-sh

Fermez votre console et rouvrez là. Si tout se passe bien, on vous demandera votre passphrase et vous aurez le message suivant sur votre console:

* Adding 1 ssh key(s)...
Identity added: /home/votrelogin/.ssh/test_dsa (/home/votrelogin/.ssh/test_dsa)

Il vous suffira ensuite de répéter l’étape du ssh-copy-id sur tous vos serveurs et vous pourrez vous connecter à toutes vos machines sans mot de passe toute la journée.

J’espère que cet article vous aura  permis de franchir le pas. Bien sûr l’utilisation de keychain n’est pas obligatoire. Mais je trouve ça tellement pratique !

Publicités
Étiquettes : , ,


  • ungeekdeplus: Debian, mais il existe des paquets pour les autres distrib. Voir sur le site. Attention il y a une nouvelle version 2.x
  • sana: tu l'as testé sur quel système d'exploitation stp??
  • ungeekdeplus: @titon: Coquille modifiée. Merci. Pour les tuto d'install je vous invite à utiliser ceux du site officiel, vous pouvez utiliser les vms déjà pré-

Catégories