Accès distant SSH¶
Description¶
Le CPHT fourni un accès distant SSH à ses ressources informatiques internes via un service de passerelle dénomée : pascal.cpht.polytechnique.fr
.
Note
Le service SSH du CPHT est fourni par 2 serveurs pascal1.cpht.polytechnique.fr
et pascal2.cpht.polytechnique.fr
. Un système d'équilibrage de charge DNS round-robin permet de repartir les ressources entre ces deux serveurs.
Documentation¶
Pré-requis:
- Un compte dans l'annuaire XAJAM de l'école et un compte au CPHT
- Une paire de clés privée/publique ssh
- (Option) Activer l'authentification double-facteur
Note
Un workflow est disponible ici pour vous aider à comprendre le processus d'accès aux ressources informatiques du CPHT en SSH.
Vous avez une paire de clés SSH¶
Point d'entrée ou passerelle SSH au CPHT :
ssh.cpht.polytechnique.fr
ou pascal.cpht.polytechnique.fr
$ ssh my_login(Q)ssh(P)cpht(P)polytechnique(P)fr
Accès SSH à des ressources derrière la passerelle SSH du CPHT en utilisant un rebond, pour accéder par exemples aux ressources privées comme les clusters cholesky, hopper, montblanc, hedin, les serveurs casimirX, etc.
Voici la commande qui permet de vous connecter (nécessite OpenSSH 7.3) :
$ ssh -J my_login(Q)ssh(P)cpht(P)polytechnique(P)fr my_login@machine_destination
Vous pouvez aussi créer un alias dans le fichier ~/.ssh/config
:
Host alias_machine_destination
User my_login
HostName nom_machine_destination
ProxyJump my_login(Q)ssh(P)cpht(P)polytechnique(P)fr
Puis ensuite vous connecter via cet alias :
$ ssh alias_machine_destination
Si votre client OpenSSH < 7.3 il est possible d'utiliser la directive ProxyCommand
. Dans votre fichier ~/.ssh/config
:
Host alias_machine_destination
User my_login
HostName nom_machine_destination
ProxyCommand ssh -W %h:%p ssh.cpht.polytechnique.fr
Attention
L'ancienne syntaxe ProxyCommand nohup ssh pascal nc %h %p 2>&1
est obsolète et doit être mise à jour dans votre fichier ~/.ssh/config.
Vous n'avez pas de paire de clés SSH¶
-
Sous Linux ou MAC OS X
-
Dans un terminal, vérifier sur votre poste que vous ne disposez pas d'une paire de clés :
$ cd ~/.ssh $ ls authorized_keys2 id_rsa known_hosts config id_rsa.pub
Rechercher une paire de fichiers comme
id_rsa
etid_rsa.pub
(ouid_ed2559
eted_ed2559.pub
). Le fichier en.pub
est la clé publique (qui peut être communiquée à quiconque) tandis que l'autre est la clé privée. Si vous ne voyez pas ces fichiers, il est nécessaire de les générer.Algorithme RSA
Cela dépend de la taille de la clé. Une longeur de clé inférieur à 4096 bits est considéré maintenant comme faible. Pour cela, nous vous recommandons d'utiliser dorénavant l'algorithme
ed2556
.Algorithme Ed25519
C'est l'algorithme à clé publique le plus recommandé aujourd'hui. La clé publique Ed25519 est compacte. Il ne contient que 68 caractères, contre RSA 3072 qui en compte 544.
-
Dans un terminal ou une console, exécuter la commande suivante
ssh-keygen
avec l'algorithmeed2559
:$ ssh-keygen -t ed25519
-
La commande vous demande alors de sauvegarder la clé, puis une phrase secrête ou passphrase pour protéger le clé privée :
Generating public/private ed25519 key pair. Enter file in which to save the key (/home/ubuntu/.ssh/id_ed25519): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/ubuntu/.ssh/id_ed25519 Your public key has been saved in /home/ubuntu/.ssh/id_ed25519.pub
-
Si vous êtes connecté à une station du CPHT copiez la clé publique
id_ed2559.pub
dans le fichier~/.ssh/authorized_keys
(ce fichier peur contenir à la suite plusieurs clés). -
Si vous n'êtes pas au CPHT ou connecté sur une machine du CPH, transmettre la clé publique
id_ed2559.pub
au support informatique. Le support informatique va alors copier le contenu de votre clé publique dans le fichier~/.ssh/authorized_keys
de votre repertoirehome
et ensuite vous confirmer que vous pouvez vous connecter à la passerelle.
-
-
Sous Windows (avec PuTTY)
-
Télécharger et installez le client SSH PuTTY
-
Exécuter l'outil
PuTTYgen
et sélectionnezED2559
comme type de clé, puis cliquez surGenerate
-
Déplacer votre souris de manière aléatoire dans la zone située sous la barre de progression, comme indiquée ci-dessous
-
Une fois la barre de progression terminée, la fenêtre ci-dessous apparait et vous demande une phrase secrête ou Key passphrase qui permet de protéger la clé privée
-
Transmettre la clé publique qui se trouve dans le champ commençant par ssh-rsa... au support informatique) du laboratoire.
-
Le support informatique va alors copier le contenu de votre clé publique dans le fichier
~/.ssh/authorized_keys
de votre repertoirehome
et ensuite vous confirmer que vous pouvez vous connecter à la passerelle.
-
Activer l'authentification double-facteur ou à 2 étapes¶
Accès sans clés SSH
Cette méthode d'authentification en 2 étapes permet de vous connecter sans clé SSH depuis l'extérieur (internet) en utilisant votre mot de passe de votre compte de l'école et un code secret temporaire donnée via une application TOTP sur votre téléphone.
-
Dans un terminal, ouvrir une session SSH sur la passerelle d'entrée du CPHT
ssh.cpht.polytechnique.fr
(nécessite une paire de clés SSH pour cette procédure) -
Lancer la commande :
$ google-authenticator
-
Google Authenticator vous génère un QR code
-
Sauvegarder (ex. capture d'écran) les codes d'urgence emergency scratch codes et la clé secrète secret key quelque part au cas ou vous perdez ou formattez votre téléphone
-
Appuyer sur la touche "y" pour mettre à jour la configuration Google Authenticator dans votre répertoire personnel
home
-
Flasher le QR code avec par exemple l'application FreeOTP disponible pour iOS (iphone) et pour Android
-
Se déconnecter de la passerelle SSH
-
Tester l'authentification double facteur. Pour cela éditer votre configuration SSH sur votre poste de travail en ajoutant une entrée dans le fichier
~/.ssh/.config
afin de supprimer dans cas particulier l'usage de la clé SSH.Host ssh_otp Hostname ssh.cpht.polytechnique.fr Pubkeyauthentication no
-
Se connecter en SSH sur la passerelle via l'alias déclaré ci-dessus
ssh_otp
, entrer votre identifiant et votre mot de passe de l'école puis le code de vérification donné par l'applicationFreeOTP
de votre téléphone$ ssh my_login@ssh_otp ############################################################## # # # Centre de Physique Theorique # # # ############################################################## # !!! Acces autorise uniquement !!! # # # # Deconnectez vous immediatement si vous n'etes pas autorise # # toute action sera tracee et enregistree # # -----------------------------------------------------------# # !!! Authorized access only !!! # # # # Disconnect immediately otherwise # # All action will be monitored and recorded # ############################################################## Password: Password: Verification code: ################################################################################# # Vous etes connecte a une ressource administree par # # la Cellule Informatique Commune CMLS / CPHT / CMAP # # ---------------------------------------------------- # # bureau : 061004 et 1061060 # # email : support(Q)cpht(P)polytechnique(P)fr # # documentation : https://gitlab.labos.polytechnique.fr \ # # /CPHT_documentation/documentation_utilisateurs/wikis/home # #################################################################################