PRÉAMBULE
Pour des raisons de sécurité, la connexion par mot de passe au cluster n'est pas autorisée. Seul est autorisé le mécanisme des clés privée/publique, qui fonctionne sur le principe :
- d'une clé privée ne quittant jamais votre poste de travail (PC, ordinateur portable, ...) ;
- d'une clé publique installée sous votre compte sur le serveur sur lequel vous souhaitez vous connecter (hpc-login.u-strasbg.fr dans le cas du cluster de calcul).
Une même paire de clés peut être utilisée pour se connecter à différents serveurs.
La clé publique est à transmettre par messagerie, soit sous forme pièce-jointe, soit simplement copiée dans le corps du mail.
Mise en garde
Attention : dans tous les cas lisez la première mise en garde ci-dessous :
- Il est indispensable de saisir une passphrase lors de la création de votre paire de clé. La passphrase est la seule protection empêchant un utilisateur malveillant ayant accès à votre clé privée de l'utiliser en se faisant passer pour vous. (Exemple de passphrase : “LePublicHouseestmonrestautantpréféré” “MoijesupporteleRacingClubdeStrasbourgen2021!” etc.)
- si vous utilisez déjà le mécanisme des clé, mais que votre clé privée n'est pas sécurisée par une passphrase, il faudra suivre la procédure ci-dessous "Sécuriser une clé privée existante avec une passphrase" ;
- en aucun cas il ne faut installer votre clé privée au sein du cluster. Celle-ci doit être présente uniquement sur votre poste de travail.
Une fois votre clé publique installée sur le cluster, lors d'une connexion, le système vous demandera la passphrase de la clé privée, et non pas le mot de passe sur le cluster (qui sera de toute façon bloqué). Si cela vous semble fastidieux, vous pouvez utiliser un "agent" ssh pour stocker la passphrase (le temps de la session de travail). Voir ci-dessous "Utiliser un agent pour stocker la passphrase".
GÉNÉRER UNE PAIRE DE CLÉS PUBLIQUE ET PRIVÉE
Sur un poste Linux, MacOS ou Windows avec WSL
Retournez à la racine de votre HOME puis générer la paire de clés : cd ssh-keygen -t ed25519 * à la question "Enter file in which to save the key", appuyez sur la touche Entrée pour le choix par défaut ; * à la question "Enter passphrase", entrez un mot de passe, de préférence sous la forme d'une phrase ; * la clé publique à utiliser pour le cluster se trouve dans le fichier indiqué par "Your public key has been saved in".
Sur un poste Windows avec PuTTY
L'utilitaire PuTTYgen vous permet de générer des clés ssh :
- une fois PuTTYgen lancé, générez un jeu de clés de type SSH Ed25519 ;
- la clé publique à installer sur le cluster se trouve dans champ suivant : "Public key for pasting into OpenSSH authorized_keys file" ;
- il suffit de la récupérer par copier/coller et de nous l'envoyer par mail ;
- sauvegardez ensuite la "private key" et la "public key" et retenez leur emplacement ;
- pour les utilisateurs de X2Go, il faut convertir la clé privée .ppk avec l'outil de conversion intégré à PuTTYgen :
UTILISER UN AGENT POUR STOCKER LA PASSPHRASE
Certains système (comme Ubuntu) gèrent cet aspect automatiquement.
Si ce n'est pas le cas, sur votre poste de travail :
-
Démarrage de l'agent : ssh-agent > a; sh ./a
-
Enregistrement de la passphrase (pour la durée de vie de votre session sur le poste de travail) : ssh-add
La séquence ci-dessus peut être automatisée via le script de démarrage de votre session.
SÉCURISER UNE CLÉ PRIVÉE EXISTANTE AVEC UNE PASSPHRASE
Cette opération protège votre clé privée en cas de vol de votre poste, ou simplement d'accès en-dehors de votre présence.
Sur votre poste de travail : ssh-keygen -p Répondre aux questions
CAS PARTICULIERS
FileZilla
Dans certains cas, FileZilla n'est compatible qu'avec le format de clé .ppk (Putty Private Key).
Le démarche la plus simple est :
- aller dans le gestionnaire de site de FileZilla (Fichier > Gestionnaire de Sites) ;
- puis pour le site correspondant à hpc-login, choisir le type d'authentification "Fichier de clé" ;
- ensuite, il faut chercher la clé privée qui devrait être .ssh/id_ed25519 (il faudra sans doute taper ceci à la main, FileZilla ne va pas trouver le répertoire .ssh tout seul) ;
- il y aura un message qui expliquera que le format de clé n'est pas pris en charge, mais qu'il peut être converti : valider, puis nommer la nouvelle clé comme on le souhaite (par exemple id_ed25519.ppk).
X2Go
Cocher la case :
- Essayer l'authentification automatique (via l'agent SSH ou la clé SSH par défaut)
Si la clé n'est pas dans un emplacement standard, il faut de plus indiquer sa localisation dans le champ :
- Utiliser une clé RSA/DSA pour la connexion SSH
Plusieurs postes de travail
Si vous avez plusieurs postes de travail, deux options s'offrent à vous :
- générer autant de paires de clé que de postes de travail, et ajouter les nouvelles clé publiques dans hpc-login:~/.ssh/autorized_keys ;
- n'utiliser qu'une seule paire de clé, mais dupliquer la clé privée sur tous les postes. Attention dans ce cas à ne pas faire transiter la clé privée par le réseau, mais via par exemple une clé USB et nettoyer la clé USB après transfert.
La première méthode est recommandée. Vous pouvez pour vous simplifier la vie et utiliser la même passphrase pour toutes les clé privées.