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
- Windows
- Mac OS X
La commande pour générer une clé 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
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.
$ 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
Déposer sa clé ssh sur le portail
Pour déposer votre clé ssh, il faut se connecter, sur le portail MesoNET : https://acces.mesonet.fr. Cliquez sur le bouton connexion en haut à droite, et identifiez vous de la même façon que lors de la création de votre compte, typiquement via eduGAIN.
Une fois authentifié, cliquez sur le trousseau de clé en haut à gauche (à coté de votre nom). Cela ouvre la page de gestion des clés SSH.
Pour ajouter une clé, cliquer sur le bouton "Ajouter une clé" puis renseignez les chams suivants :
- Nom de la clé: une chaine de caractère permettant d'identifier la clé de manière unique
- Votre clé publique ssh: La chaine de caractère correspondant à votre clé ssh publique (qui est le contenu du fichier .pub créé lors de la génération de la clé ssh)
Cliquez enfin sur le bouton "Ajouter" pour finaliser l'ajout de la clé dans votre trousseau.
Associer sa clé ssh à un compte dans un projet
Une fois sa clé ssh ajoutée dans le trousseau, vous pouvez l'associer à un compte en revenant sur la page d'accueil. Sur cette page, vous pouvez voir la liste des projets sur lesquels vous avez des comptes sur les machines.
Les comptes qui n'ont pas de clé SSH associés sont signalés par un pictogramme :
Pour associer une clé ssh de votre trousseau à un compte, il faut cliquer sur la clé a coté du nom du compte.
Cela ouvre l'écran permettant d'associer une clé ssh de son trousseau à ce compte.
Pour associer la clé, il faut lire et accepter les conditions générales d'utilisation de la machine (CGU), sélectionner la clé à associer puis cliquer sur le bouton "Modifier".
Une fois la clé associée, vous devez patienter que la clé soit déployée sur la machine. Lorsque la clé est déployée, le pictogramme disparaît.