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 :

Dans la fenêtre qui s'affiche, sélectionnez le paramètre EdDSA (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 :

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:
Une nouvelle page s'ouvre, cliquez alors sur le bouton Ajouter une clé:
L'écran suivant va alors s'ouvrir:

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:

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:

Cliquez sur la clé, l'écran ci-dessous vous permettra de choisir une clé de votre trousseau pour l'associer à votre 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)