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:

  • Elle est dans votre trousseau
  • Vous êtes collaborateur d'un projet mesonet
  • Le responsable de projet a demandé l'ouverture d'un compte pour vous

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 !

⚠️ Une seule clé par login sur une machine peut être déployée (la clé précédente sera écrasée) !

 

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)

Voir aussi

Lancer un calcul sur Turpan

Partition / global = 3 jobs max par utilisateur : small : exclusive, 2 jobs max, pas plus de 6 noeuds par jobs, max walltime par job 4H big : exclusive, 1 job max, pas plus de 13 noeuds par job

Environnement de développement

Environnement de développement Nvidia HPC, ARM et GNU Compiler Collection.  Les compilateurs C/C++/Fortran et les accélérateurs support des normes OpenMP et OpenACC.

Turpan: Les logiciels installés

Les compilateurs : Nvidia HPC, ARM, GNU Les librairies de communication : OpenMPI

Se connecter à Turpan

Il y a plusieurs manière de se connecter à Turpan

Demander un compte Mesonet

I. Demander un compte mesonet: Pour demander un compte mesonet, faites pointer votre navigateur sur l'URL: https://iam.mesonet.fr/

Améliorer les performances

Turpan: Visualisation graphique à distance

Calmip met à disposition des utilisateurs des ressources graphiques, permettant de visualiser ses données à distance