From b1b69af0201c3c529e8249941339fe4343daf1eb Mon Sep 17 00:00:00 2001 From: Pablo Bondia-Luttiau Date: Fri, 4 Sep 2026 17:19:56 +0200 Subject: [PATCH 1/2] phileas: ajout connexion SSH dans le terminal --- .../phileas/access/02_ssh_terminal.md | 52 ++++++++++++++++++ .../phileas/access/ssh_transfers/index.md | 20 ------- static/img/phileas/warpgate_code.png | Bin 0 -> 41043 bytes 3 files changed, 52 insertions(+), 20 deletions(-) create mode 100644 docs/code_form/phileas/access/02_ssh_terminal.md delete mode 100644 docs/code_form/phileas/access/ssh_transfers/index.md create mode 100644 static/img/phileas/warpgate_code.png diff --git a/docs/code_form/phileas/access/02_ssh_terminal.md b/docs/code_form/phileas/access/02_ssh_terminal.md new file mode 100644 index 00000000..675ee2cb --- /dev/null +++ b/docs/code_form/phileas/access/02_ssh_terminal.md @@ -0,0 +1,52 @@ +# Accéder via SSH + +:::info +Cette méthode d'accès est préconisée pour les enseignants, chercheurs, et toute autre personne étant habituée à la connexion SSH avec son PC. Pour tout autre utilisateur, nous recommandons __très fortement__ d'utiliser le Shell disponible [directement sur le portail](./portal/05_cluster.md) +::: + + +Sur Phileas, inutile de gérer des clés SSH. Toute connexion avec SSH se fait via une authentification via le Web. Ainsi, sans aucune configuration de votre côté, vous pouvez simplement faire : + +```bash +ssh :Login@warpgate.phileas.ec-nantes.fr + +# Exemple +ssh pbondial@ec-nantes.fr:Login@warpgate.phileas.ec-nantes.fr +``` + +En remplaçant `` par votre nom d'utilisateur de la fédération Renater (ou votre nom d'utilisateur IAM local). __Le suffixe `:Login` est nécessaire. + + +:::info +Vous pouvez également ajouter ce bloc dans votre configuration SSH : + +``` +Host Phileas + Hostname warpgate.phileas.ec-nantes.fr + User :Login +``` + +Pour ensuite vous connecter avec `ssh Phileas`. + +::: + +Une fois la commande lancée, vous verrez un lien de connexion apparaître et une clé de sécurité : + +``` +[pablo@pcici02:~]$ ssh pbondial@ec-nantes.fr:Login@warpgate.phileas.ec-nantes.fr +Warpgate authentication +----------------------------------------------------------------------- +Please verify the SSH authentication request in your browser. +https://warpgate.phileas.ec-nantes.fr/@warpgate#/login/474e9734-87b8-4b10-ae8d-bb83ca46b231 + +Make sure you're seeing this security key: A D D 6 +----------------------------------------------------------------------- + +(pbondial@ec-nantes.fr:Login@warpgate.phileas.ec-nantes.fr) Press Enter when done: +``` + +Cliquez sur le lien pour vous authentifier, vérifiez que vous voyez bien la même clé de sécurité : + +![Modifier les fichiers](/img/phileas/warpgate_code.png) + +Et cliquez sur _approve_. De retour dans votre terminal, appuyez sur la touche _Entrée_ et vous serez connecté. diff --git a/docs/code_form/phileas/access/ssh_transfers/index.md b/docs/code_form/phileas/access/ssh_transfers/index.md deleted file mode 100644 index 2b954208..00000000 --- a/docs/code_form/phileas/access/ssh_transfers/index.md +++ /dev/null @@ -1,20 +0,0 @@ -# Transferts de gros fichiers - -:::danger - -Cette page est réservée aux utilisations très précises de Phileas qui ne pourraient pas s'effectuer avec le portail. Un exemple -potentiel serait le transfert de données > 2Go vers ou depuis Phileas. Pour __toutes__ les autres utilisations, [nous vous demandons d'utiliser le portail Web](../portal/01_initial_access.md) - -::: - - -Pour transférer des fichiers volumineux, le portail web n'est pas adapté. Pour effectuer des transferts, il faut passer par SSH. Vous avez à votre disposition une page vous permettant de demander un accès SSH temporaire : https://auth.phileas.ec-nantes.fr/if/user/#/settings - -Sur cette page de paramètres, cliquez simplement sur _Save_ et vous reçevrez un email avec les informations de connexion que vous pourrez utiliser. Suivez les instructions décrites dans l'email pour continuer. - -Le token que vous reçevrez est __individuel__ et vous permettra de vous connecter en SSH pour faire quelques tests simples, et de transférer vos données. Vous pourrez également utiliser n'importe quel client de transfert de fichier SSH (FileZilla, WinSCP, etc.) pour envoyer/rapatrier vos fichiers. - - -:::info -Ne soyez pas étonnés, votre nom d'utilisateur ressemblera à `ticket-2bc56f594b7fc05c7f480d79acb1c025e8dc181f461c3603187dad3fb093eb65` , mais il correspond bien à votre utilisateur sur Phileas. -::: diff --git a/static/img/phileas/warpgate_code.png b/static/img/phileas/warpgate_code.png new file mode 100644 index 0000000000000000000000000000000000000000..1500cc375bdb83ea0628774334b2e9cb338108c2 GIT binary patch literal 41043 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 Date: Fri, 4 Sep 2026 17:22:53 +0200 Subject: [PATCH 2/2] phileas: removed deprecated contents from FAQ --- docs/code_form/phileas/99_faq.md | 59 +++----------------------------- 1 file changed, 4 insertions(+), 55 deletions(-) diff --git a/docs/code_form/phileas/99_faq.md b/docs/code_form/phileas/99_faq.md index 38b81bdc..84916458 100644 --- a/docs/code_form/phileas/99_faq.md +++ b/docs/code_form/phileas/99_faq.md @@ -1,59 +1,8 @@ # F.A.Q -## Erreurs de connexion -### Lorsque je veux me connecter, on me dit que ma clé n'est pas protégée -Si, lors d'une connexion SSH, vous obtenez un message similaire à : -```bash -@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -@ WARNING: UNPROTECTED PRIVATE KEY FILE! @ -@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -Permissions 0777 for '/home/xx/.ssh/phileas_key' are too open. -It is required that your private key files are NOT accessible by others. -This private key will be ignored. -Load key "/home/xx/.ssh/phileas_key": bad permissions -xxxxx@bastion.phileas.ec-nantes.fr: Permission denied (publickey). -Connection closed by UNKNOWN port 65535 -``` -Cela signifie que les permissons de votre clé privée `phileas_key` sont trop ouvertes, et SSH refusera de l'utiliser pour se connecter à Phileas. Pour régler ce problème, sous Linux, effectuez la commande suivante sur votre clé privée (ajustez l'emplacement de la clé si vous n'avez pas utilisé l'emplacement préconisé) : -```bash -chmod 0600 ~/.ssh/phileas_key -``` -et retentez le SSH. - -### Je n'arrive pas à me connecter, j'ai simplement un message d'erreur "Permission denied" -Cette erreur est malheureusement très générique et peut avoir plusieurs causes différentes. Testez les étapes suivantes avant d'ouvrir un ticket support MesoNET. - -#### Mon certificat est-il invalide ? -Inspectez votre certificat avec la commande : -```bash -ssh-keygen -L -f ~/.ssh/phileas_key-cert.pub -``` -Dans le résultat, vérifiez que la date d'expiration du certificat n'est pas passée (appelé 'Valid' dans le certificat), que le nom d'utilisateur (appelé 'principal') est correct, et que les adresses IP intégrées (appelées 'source-address') correspondent bien à celles que vous avez indiqué sur https://auth.phileas.ec-nantes.fr . **Notez que l'adresse IP 130.66.159.6/32 est nécessaire pour fonctionner, et n'apparaît pas dans la boîte de dialogue de saisie d'adresse**. - -``` -Type: ssh-ed25519-cert-v01@openssh.com user certificate -Public key: ED25519-CERT SHA256:UdLlHCFe008eXtSiSFKAt8DPR6uRDAZRhdwwN7Zvr8g -Signing CA: ED25519 SHA256:S9GJbecpkIwhdEDY1iLOIrZxPZGKqQOJ9eP+sWfqVec (using ssh-ed25519) -Key ID: "pbondial@ec-nantes.fr-external" -Serial: 2712428235499462096 -Valid: from 2024-11-13T15:48:33 to 2024-12-13T15:49:03 -Principals: - pbondial@ec-nantes.fr -Critical Options: - source-address 130.66.120.1/32,130.66.159.6/32 -Extensions: - permit-X11-forwarding - permit-agent-forwarding - permit-port-forwarding - permit-pty -``` - -#### Ma configuration SSH est-elle bonne ? -Vérifiez que votre bloc de configuration SSH relatif à Phileas ne comporte pas d'erreur (pas de chemin de clé erroné, pas de modification du nom d'utilisateur, etc.) - -#### Je n'arrive toujours pas à me connecter -Ouvrez un ticket de support MesoNET pour Phileas. - +## Erreurs sur le portail Phileas +### Mon répertoire home n'existe pas +Vous vous êtes connecté trop tôt. Une fois la première connexion effectuée, patientez environ 20 minutes avant de tenter d'accéder à Phileas. ## Erreurs de Slurm ### Je n'arrive pas a soumettre de jobs, j'ai une erreur d'account ou de partition @@ -73,4 +22,4 @@ Exemple d'erreur avec curl : curl: (56) Received HTTP code 403 from proxy after CONNECT ``` -Cette erreur indique que le domaine que vous souhaitez joindre n'a pas été explicitement autorisé à être contacté depuis Phileas. Vous pouvez ouvrir un ticket de support en indiquant clairement quel nom de domaine vous souhaitez autoriser, et pour quelle utilité. \ No newline at end of file +Cette erreur indique que le domaine que vous souhaitez joindre n'a pas été explicitement autorisé à être contacté depuis Phileas. Vous pouvez ouvrir un ticket de support en indiquant clairement quel nom de domaine vous souhaitez autoriser, et pour quelle utilité.