SSH: clé publique/privée

Cet article était présent sur l’ancienne version de coolcoyote.net. Comme je le trouve utile, je le remet, même si je ne l’ai pas retesté depuis.

Pour commencer nous allons définir que:

  • la machine locale sera la machine cliente, c’est-à-dire celle qui se connectera
  • la machine distante sera la machine serveur qui recevra la connexion

Générer les clés:

Pour ce faire, commencer par taper la commande ssh-keygen sur la machine locale:

> ssh-keygen -t dsa

l’option -t dsa indique que l’on utilise un cryptage dsa de la clé, utilisé par SSH2. La génération des clés commence:

Generating public/private dsa key pair.
Enter file in which to save the key (/usr/home/toto/.ssh/id_dsa):

Appuyer sur Enter pour accepter la localisation de la clef (il est plus simple d’accepter la localisation proposée). ssh-keygen demande ensuite une « passphrase » (équivalent d’un mot de passe, mais sous forme de phrase). Cette phrase sert à fortifier la clef pour la rendre plus difficilement cassable.

À partir de là, deux solutions :

  • Si on tape une phrase, la connexion sera plus sûre, mais il faudra utiliser ssh-agent pour ne pas avoir à la retaper à chaque fois
  • On ne tape pas de phrase (on appuie seulement sur Enter), la connexion sera moins sûre.

la fin de la procédure affiche quelque chose comme:

Your identification has been saved in /usr/home/toto/.ssh/id_dsa.
Your public key has been saved in /usr/home/toto/.ssh/id_dsa.pub.
The key fingerprint is:
1a:2a:3e:4a:1a:65:1c:89:10:92:9c:5c:1f:75:cc:de
toto@machineloc

Le générateur va créer 2 clés: id_dsa (la clé privée) et id_dsa.pub (la clé publique).

Utiliser les clés

  • Editer la clé publique et copier son contenu.
  • Se rendre sur la machine distante et éditer le fichier .ssh/authorized_keys (le créer s’il le faut)
  • Y copier le contenu de la clé publique sur une seule ligne
  • Sauvegarder

Procéder ainsi pour toutes les machines distantes sur lesquelles on veut se connecter

Tester la connexion

Une fois que les clés sont placées sur les serveurs local et distant, il faut tester la connexion ssh:

> ssh host "ls -a"

Normalement, le système va détecter la présence des clés et vous demander de confirmer l’utilisation de ces clés. Il faut donc taper « yes » et valider. Cette opération ne se fait qu’une seule fois.

The authenticity of host '213.186.158.139 (213.186.158.139)' can't be established.
RSA key fingerprint is 02:11:f2:db:ad:42:86:de:f3:10:9a:fa:41:2d:09:77.
Are you sure you want to continue connecting (yes/no)?

Mots-clefs : , , , ,



Un commentaire sur “SSH: clé publique/privée”

  1. […] La deuxième chose est de configurer un accès par clé privée ssh. L’article est à cet endroit. […]

Laisser une réponse

Vous devez être connecté pour publier un commentaire.