Gérer ses clés ssh

Qu'est-ce qu'une clé ssh ?

Une clé ssh est un ensemble de deux fichiers, permettant d'établir des clés de chiffrement. Ces deux fichiers constituent:

  • La clé privée: ce fichier ne doit être partagé avec personne, il est strictement privé
  • La clé publique: Ce fichier peut être publiquement distribué à qui vous voulez

ssh va crypter la communication en utilisant votre clé privée, le supercalculateur va le décrypter en utilisant votre clé publique. S'il arrive à décrypter on peut être sûr que c'est vous qui êtes connecté-e, puisque vous seul-e possédez la clé privée ! Il est donc possible de vous authentifier grâce à ce système de paires de clés publiques/privées.

En conséquence, la clé privée doit être protégée le mieux possible, et en particulier vous devrez la protéger par un mot de passe (en fait une "passphrase"), afin que si vous vous la faites voler elle ne soit pas utilisable par quelqu'un d'autre que vous.

Générer sa clé ssh


gnu/linux ou macOsX

Pour générer votre paire de clés ssh:

$ ssh-keygen -t ed25519 -f .ssh/turpan
Generating public/private ed25519 key pair.
Enter passphrase (empty for no passphrase): unsuper!#§m0t{[{[DEpaSsSe345
Enter same passphrase again: unsuper!#§m0t{[{[DEpaSsSe345
Your identification has been saved in .ssh/turpan
Your public key has been saved in .ssh/turpan.pub
The key fingerprint is:
SHA256:wB4qeovtHVtN63JRDrQMvkdHbr2OUdCj3/Rrb52zY40 manu1@delman
The key's randomart image is:
+--[ED25519 256]--+
|           .     |
|     .. . o o    |
|     .++ + + .   |
|     o.o= * o .  |
|  . . .oS* o + . |
| . .  .oo.o o . .|
|. . . ..o. +   .=|
| + o +... . . EB+|
|..+ o  o.     oo*|
+----[SHA256]-----+

$ ls -l .ssh
total 8
-rw------- 1 manu1 manu1 444 déc.  13 12:05 turpan
-rw-r--r-- 1 manu1 manu1  94 déc.  13 12:05 turpan.pub

La commande a permis de créer deux fichiers:

  • turpan qui contient la clé privée
  • turpan.pub qui contient la clé publique.

Une variante avec RSA si la commande ne fonctionne pas (attention la taille doit être 3072 minimum) : 

ssh-keygen -t rsa -b 3072 -f .ssh/turpan

Windows

Sous Windows vous devez installer un client ssh. CALMIP recommande l'usage de MobaXterm (Home Edition). 

Téléchargez la version portable sur ce site : https://mobaxterm.mobatek.net puis il vous suffit d'extraire les fichiers contenus dans l'archive .zip à l'emplacement de votre choix. Lancez ensuite l'application en double-cliquant sur le fichier MobaXterm_Personal_22.x.zip.

Pour générer votre paire de clé ssh (privée/publique) il faut utiliser l'outil MobaKeyGen :

MobaKeyGen

 

Dans la fenêtre qui s'affiche, sélectionnez le paramètre EdDSA (Ed25519) :

Moba KeyGen ED25519

 

Puis cliquez sur 'Generate' et déplacez votre souris dans le cadre jusqu'à ce que la barre verte soit remplie. Une fois le couple de clés générées vous pouvez modifier le champ 'Key comment' pour mettre un nom plus parlant (Exemple : Turpan) et ajouter une passphrase pour protéger vos clés. Ensuite, vous devez sauver la clé privée en cliquant sur le bouton 'Save private key' et conserver le fichier créé, vous en aurez besoin pour vous connecter à Turpan. Enfin vous devez sauver la clé publique en cliquant sur le bouton 'Save public key'

Laissez la fenêtre ouverte pour copier/coller le contenu du cadre :

Moba_sshkg_paste

 

Vous pourrez ainsi l'ajouter à votre trousseau de clés à l'étape suivante.

Déposer sa clé dans son trousseau de clés

Maintenant que vous avez votre paire de clés ssh, vous devez nous faire parvenir votre clé publique. Pour cela, connectez-vous sur:

https://acces.mesonet.fr

et cliquez sur le trousseau de clés en haut à droite de l'écran:

trousseau

Une nouvelle page s'ouvre, cliquez alors sur le bouton Ajouter une clé: ajouter une clé

L'écran suivant va alors s'ouvrir:

formulaire clés ssh

 

Vous devez maintenant:

  • Entrer un nom pour votre clé. Attention deux clés ne peuvent avoir le même nom
  • Copier-coller le contenu du fichier de clé publique. Un test est effectué pour garantir que tout a bien été collé, et que vous ne vous êtes pas trompé de fichier (ce serait dommage de nous envoyer la clé privée !)

La copie d'écran ci-dessous montre un trousseau de clés avec deux clés ssh:

trousseau avec 2 clés ssh

 

Déployer une clé sur turpan ou boréale

Maintenant que vous avez des clés dans votre trousseau, vous devez les déployer dans votre compte sur le supercalculateur. Pour cela, retournez sur l'écran Demandeur:

Vous ne pouvez déployer votre clé que si:

  • Vous êtes collaborateur d'un projet mesonet
  • Le responsable de projet a demandé l'ouverture d'un compte pour vous
  • Le compte a effectivement été ouvert par les administrateurs système

Ce cas est celui du projet M22002 pour l'utilisateur bobby:

clé à déployer

 

Cliquez sur la clé, l'écran ci-dessous vous permettra de choisir une clé de votre trousseau pour l'associer à votre compte.

choisir une cle ssh pour mon compte

 

Quelques minutes plus tard, votre clé ssh sera bien au chaud sur le supercalculateur, et vous pourrez vous connecter via ssh !

 

Recommandations de sécurité

ATTENTION, une clé ssh est un élément important de sécurité. Vous devez donc:

  • Garder votre clé privée en lieu sûr afin de ne pas vous la faire voler.
  • Protéger votre clé ssh par un mot de passe robuste
  • Ne jamais partager votre clé privée ssh avec qui que ce soit
  • Utiliser des clés différentes (et donc des mots de passe différents) pour vous connecter sur les différentes machines auxquelles vous avez accès: ainsi si une de vos clés est compromise, toutes les machines ne seront pas impactées
  • nous prévenir le plus vite possible si votre clé ssh est compromise: nous avons la possibilité de la révoquer, afin de s'assurer qu'elle ne soit plus utilisable (et vous devrez par la suite en générer une nouvelle)