Configuration pour l'utilisation du Mesogip de Télécom Paris par les utilisateurs de l'ENSTA
Introduction
Le Mesogip est un centre de calcul équipé de GPU, situé à Télécom Paris. Vous aurez accès aux machines appartenant à l’ENSTA, qui font partie de ce centre.
Cette documentation s’adresse aux étudiants et autres membres de l’ENSTA autorisés à accéder au Mesogip.
Pour se connecter au Mesogip, par ligne de commande à partir d’une machine Linux, il est nécessaire de passer par une machine-relais de l’ENSTA connectée à Télécom Paris.
La configuration pour accéder au Mesogip se décompose en deux étapes :
- Générez vos fichiers de clés d’authentification SSH en utilisant l’outil en ligne fourni par Télécom Paris.
- Configurez votre outil SSH sur votre machine pour simplifier la procédure de connexion.
Configuration de votre machine Linux Ubuntu
Installation du client SSH
Il est nécessaire d’installer l’outil openssh pour la connexion SSH.
sudo apt update
sudo apt install openssh-client
L’outil web de Telecom Paris
Un outil en ligne est disponible pour générer les identifiants nécessaires à la connexion au Mesogip. Nous allons maintenant détailler les étapes à suivre pour utiliser cet outil, en procédant légèrement différemment de ce qui est indiqué sur l’interface web de l’outil car cet outil est normalement destiné aux élèves de Telecom Paris.
Pour accéder à l’outil, rendez-vous sur le lien suivant : https://mesogip.r2.enst.fr. Vous devez vous connecter à l’aide de vos identifiants ENSTA.
Il y a 4 sections sur cette page web:
- La section “Welcome to the Mesogip cluster” : cette section explique l’utilisation de l’outil, mais nous ne suivrons pas cette procédure.
- La section “SSH Keys”: cette section est destinée à générer des clés SSH, ce qui sera nécessaire plus loin dans ce guide.
- La section “WG Keys” : cette section concerne la configuration d’un VPN WireGuard, mais ce n’est pas nécessaire pour notre utilisation.
- La section “Admin” : cette section permet de gérer les utilisateurs du Mesogip.
Ainsi, la seule section utile pour nous est la section “SSH Keys”.
Une fois que vous êtes connecté au site, vous allez recevoir un identifiant Mesogip de la forme suivante : ensta-xxxxxx. C’est écrit en haut de la page : “Your login is…”. Il est important de noter cet identifiant, car il sera utilisé ultérieurement sous le terme login-mesogip.
Validation par un administrateur ENSTA
Bien que l’accès à l’outil soit possible pour tous avec les identifiants ENSTA, la configuration d’un accès au Mesogip ENSTA est restreinte.
Après vous être connecté une première fois à l’interface web de l’outil, vous pouvez quitter la page. Il vous faudra alors contacter Emmanuel Battesti (emmanuel.battesti@ensta-paris.fr) ou Gianni Franchi (gianni.franchi@ensta-paris.fr) pour qu’ils vous valident en tant qu’utilisateur autorisé, autrement dit qu’ils vous “trustent”.
Une fois cette étape complétée, en revenant sur l’interface web de l’outil, vous verrez apparaître en haut de la page la mention “You are trusted”! Tant que vous n’êtes pas “trusted”, vous pouvez suspendre la configuration décrite sur cette page.
Configuration de la connexion SSH
Pour effectuer cette étape de configuration, veuillez vérifier que la mention “You are trusted” apparaît bien en haut de la page web de l’outil https://mesogip.r2.enst.fr.
Création des clés SSH
Nous allons maintenant créer une clé SSH sur votre propre machine pour vous connecter au Mesogip, puis fournir cette clé à l’interface web. Nous allons utiliser l’outil ssh-keygen pour générer une clé privée et publique dans les fichiers id_rsa_mesogip et id_rsa_mesogip.pub, respectivement.
- Ouvrez un terminal et exécutez les commandes suivantes :
cd ~/.ssh
ssh-keygen -t rsa -f id_rsa_mesogip # Génère une clé privée et publique de type rsa avec le nom id_rsa_mesogip
cat id_rsa_mesogip.pub # Affiche la clé publique
- Copiez la clé publique affichée à l’écran, contenue dans le fichier id_rsa_mesogip.pub, et collez-la dans la case “Add ssh key” de l’interface web dans la section “SSH Keys”.
- Cliquez ensuite sur le bouton “Add”. (Attention : la page remonte en haut après chaque clic, il faudra redescendre manuellement jusqu’à revenir au même endroit.)
- Vous devriez maintenant voir une case “Your key” contenant votre clé publique.
- En dessous, une autre case avec un cadre rouge sombre apparaîtra, encore vide.
- Sous cette case rouge, cliquez sur le bouton “Enable/Extend”.
- La case au cadre rouge deviendra vert et contiendra une nouvelle clé.
- Ensuite, créer le fichier id_rsa_mesogip-cert.pub
cd ~/.ssh
touch id_rsa_mesogip-cert.pub # Crée un fichier vide nommé id_rsa_mesogip-cert.pub
- Copiez le contenu de cette case contenant la nouvelle clé et collez-le dans le fichier ~/.ssh/id_rsa_mesogip-cert.pub.
- Enregistrez le fichier et fermez-le. Votre clé SSH est désormais configurée pour vous connecter au Mesogip.
Attention, assurez-vous de ne pas partager vos clés privées.
Ajouter la clé à ssh-agent pour l’utiliser
Si besoin, en cas d’erreur, il peut être nécessaire d’ajouter la clé à ssh-agent pour l’utiliser :
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa_mesogip
Configuration du fichier config SSH
Pour vous faciliter la connexion au Mesogip, vous pouvez configurer une connexion directe dans le répertoire ~/.ssh/config. Voici les étapes à suivre :
- Vérifiez si le fichier ~/.ssh/config existe déjà. S’il n’existe pas, vous pouvez le créer en utilisant la commande suivante dans un terminal :
touch ~/.ssh/config # Crée un fichier vide nommé config dans le répertoire ~/.ssh
- Ouvrez le fichier ~/.ssh/config dans un éditeur de texte de votre choix.
- Copiez le contenu suivant dans le fichier :
Host istanbul_mesogip_interne
# User = votre login cascad de l'ENSTA
User login-ensta
# istanbul.ensta.fr = 147.250.35.180
HostName istanbul.ensta.fr
PubkeyAuthentication no
PreferredAuthentications password
Host mesogip_interne
# User = votre login Mesogip : ensta-xxx
User login-mesogip
HostName 10.10.0.1
IdentitiesOnly yes
IdentityFile ~/.ssh/id_rsa_mesogip
ForwardAgent yes
ProxyJump istanbul_mesogip_interne
Host istanbul_mesogip_externe
# User = votre login cascad de l'ENSTA
User login-ensta
# istanbul.ensta.fr = 147.250.35.180
HostName istanbul.ensta.fr
ProxyCommand ssh -W %h:%p %r@relais.ensta.fr
PubkeyAuthentication no
PreferredAuthentications password
Host mesogip_externe
# User = votre login Mesogip : ensta-xxx
User login-mesogip
HostName 10.10.0.1
IdentitiesOnly yes
IdentityFile ~/.ssh/id_rsa_mesogip
ForwardAgent yes
ProxyJump istanbul_mesogip_externe
- Remplacez toutes les occurrences de login-ensta par votre identifiant Cascad de l’ENSTA.
- Remplacez toutes les occurrences de login-mesogip par votre identifiant Mesogip que vous avez obtenu précédemment (de la forme ensta-xxxx).
- Enregistrez le fichier et fermez-le.
Update 07/09/24 at 11:00 AM : Attention, dans une version précédente de cette page, on avait une erreur! Il faut bien avoir : ProxyCommand ssh -W %h:%p %r@relais.ensta.fr au lieu de ProxyCommand ssh -W %h:%p relais.ensta.fr
Comment se connecter ?
A l’ENSTA, sur le réseau filaire
Si que vous êtes à l’intérieur du réseau de l’ENSTA, vous pouvez vous connecter au Mesogip en utilisant la commande suivante dans un terminal :
ssh mesogip_interne
Assurez-vous d’avoir remplacé les valeurs login-ensta et login-mesogip dans le fichier ~/.ssh/config par vos identifiants respectifs avant d’exécuter cette commande.
Le système se connecte d’abord à la machine istanbul.ensta.fr. Vous devrez y entrer le mot de passe Cascad de l’ENSTA. Une fois connecté à istanbul, la connexion au Mesogip à Télécom Paris se fera automatiquement et instantanément.
A l’extérieur de l’ENSTA ou sur le wifi Eduroam ou Visitor ou Eduspot
Si vous êtes à l’extérieur du réseau de l’ENSTA ou sur un réseau Wi-Fi de l’ENSTA, vous pouvez vous connecter au Mesogip en utilisant la commande suivante dans un terminal :
ssh mesogip_externe
Assurez-vous d’avoir remplacé les valeurs login-ensta et login-mesogip dans le fichier ~/.ssh/config par vos identifiants respectifs avant d’exécuter cette commande.
Enjoy Reading This Article?
Here are some more articles you might like to read next: