Aller au contenu principal

Se connecter aux ressources et gestion des 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 chiffrer la communication en utilisant votre clé privée, le supercalculateur va le déchiffrer en utilisant votre clé publique. S'il arrive à la déchiffrer 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

A suivre si vous ne possèdez pas déjà une clé sur votre ordinateur. Sinon vous pouvez passer directement à l'étape 'Déposer sa clé ssh sur les ressources'

GNU/Linux

La commande pour générer une clé SSH :

$ ssh-keygen -t ed25519
Generating public/private ed25519 key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in .ssh/id_ed25519
Your public key has been saved in .ssh/id_ed25519.pub test@romeo
The key fingerprint is:
SHA256:wB4qeovtHVtN63JRDrQMvkdHbr2OUdCj3/Rrb52zY40
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 test test 444 déc. 13 12:05 id_ed25519
-rw-r--r-- 1 test test 94 déc. 13 12:05 id_ed25519.pub

La commande a permis de créer deux fichiers:

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

Si la commande ne fonctionne pas, il est possible de générer une clé RSA plutôt que ed25519 (attention la taille doit être 3072 minimum) :

ssh-keygen -t rsa -b 3072

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 :

Capture d'écran de MobaXTerm

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

Capture d'écran de génération de clé

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 : cle romeo) 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 à Romeo. 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 :

Capture d'écran pour copier/ocller la clé publique

Vous pourrez ainsi l'ajouter à votre trousseau de clés à l'étape suivante [Déposer sa clé ssh sur les ressources].

Mac OS

La commande pour générer une clé SSH :

$ ssh-keygen -t ed25519
Generating public/private ed25519 key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in .ssh/id_ed25519
Your public key has been saved in .ssh/id_ed25519.pub
The key fingerprint is:
SHA256:wB4qeovtHVtN63JRDrQMvkdHbr2OUdCj3/Rrb52zY40 test@romeo
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 test test 444 déc. 13 12:05 id_ed25519
-rw-r--r-- 1 test test 94 déc. 13 12:05 id_ed25519.pub

La commande a permis de créer deux fichiers:

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

Si la commande ne fonctionne pas, il est possible de générer une clé RSA plutôt que ed25519 (attention la taille doit être 3072 minimum) :

ssh-keygen -t rsa -b 3072

Déposer sa clé ssh sur les ressources

Pour mettre une clé ssh sur la ressource de calcul à laquelle vous souhaitez vous connecter, il faut procéder en deux étapes en ajoutant premièrement la clé à votre compte sur le portail, puis en associant la clé à la ressource de calcul.

Ajouter une clé à son compte

  1. Se connecter au portail Romeo.
  2. En haut à droite du site, cliquer sur votre adresse mail, puis sur « My keys » et « New key ».
  3. Dans « Label », rentrer un titre pour votre clé.
  4. Dans « Key », rentrer votre clé. Le format de celle-ci doit être ssh-<type de la clé> <chaîne de caractères aléatoires représentant votre clé> <éventuel commentaire de votre clé>.
  5. Cocher « Valid Key » pour que la clé créée soit active.

Associer une clé à une ressource de calcul

  1. Se connecter au portail Romeo.
  2. Dans le menu principal à gauche, cliquer sur « Dashboard » puis sur « Tous les projets ».
  3. Trouver le serveur concerné dans la liste, puis cliquer sur « + gérer mes clés sur cette machine ».
  4. Cocher le bouton de la clé voulue dans la colonne « Active », le bouton se colore alors en vert.
  5. Attendre au plus une heure que la clé soit déployée automatiquement.