5 minutes pour configurer ssh
ssh permet de lancer un processus ou de se loguer interactivement sur une
machine
distante. L'intérêt de ssh réside dans le fait que
le protocole de connexion
est sécurisé par des algorithmes cryptographiques qui
garantissent la confidentialité
et l'intégrité des données échangées
et authentifie l'utilisateur ainsi que
les machines.
L'objectif de ce guide est d'expliquer comment configurer rapidement
ssh
pour pouvoir l'utiliser pour faire du PVM / MPI sans être obligé
de saisir son
mot de passe à chaque login distant.
Attention: cette configuration simplifié
correspond
à ce cas particulier d'utilisation au prix de quelques
économies de sécurité,
elle pourrai donc ne pas convenir dans un environnement dans lequel une
sécurité
forte est souhaitée.
Si vous n'avez pas de configuration ssh:
mkdir ~/.ssh
Si vous aviez déjà une configuration ssh que vous souhaitez conserver, vous pouvez la sauvegarder en faisant:
mv ~/.ssh ~/.ssh.original
1. Génération des clés privée et publique
Pour vous authentifier, ssh utilise une paire de clés qu'il faut
générer en exécutant la commande suivante dans un
shell. Ne pas mettre de passphrase pour ne pas être obligé
de la saisir à
chaque login.
ssh-keygen -t
ed25519 -f ~/.ssh/id_ed25519 -N '' -q
Cette passphrase sert à chiffrer votre clé
privée. Sans
chiffrage, votre clé pourrait être utilisée par
quelqu'un qui aurait accès
au système de fichiers et à l'arborescence de votre
compte. Mais le chiffrage
vous contraint à saisir votre passphrase à chaque
accès à votre clé privée
(c'est à dire chaque fois que vous vous logez)
2. Autorisation de login distant
Pour autoriser un utilisateur à se loguer via ssh sur votre
compte sans saisie de mot de passe, il suffit
de mettre sa clé publique dans le fichier ~/.ssh/authorized_keys Dans le
cadre de l'application à PVM / MPI, vous appliquez cette règle
à vous même en exécutant les commandes suivantes
dans un shell:
cd ~/.ssh
cat id_ed25519.pub >>
authorized_keys
echo "StrictHostKeyChecking no" >> config
echo "ForwardX11 yes" >> config
3. Vérification
Comme votre répertoire de login est partagé entre les
machines de l'école par le système de fichier distribué, votre
clé publique fait partie de celles autorisées et vous
devez pouvoir vous loguer d'une machine vers une autre sans avoir à
saisir votre mot de passe. Validez le bon fonctionnement en
exécutant la commande suivante dans un shell:
toto@pc5101a % ssh pc5101b
Last login: Wed Jan 1 10:00:00 1970 from pc5101a
toto@pc5101b %
4. Problème du montage du répertoire HOME (~/) sous Linux
Malgré la configuration ssh précédente, le système de fichier
distribué nécessite le mot de passe en clair pour accèder à vos
répertoires au moment du login ("montage" du repertoire HOME ~/). Pour
éviter de saisir votre mot de passer à chaque fois, vous pouvez ouvrir
autant de terminaux que vous allez utiliser de machines et vous loguer
sur chacune d'elle au début du TP.
Attention: de conserver tout ces terminaux ouverts
pendant tout le TP. Si vous en fermez un, vous devrez taper
votre mot de passe pour accéder à la machine correspondante.
Une autre alternative est d'ajouter les PCs dans la machine virtuelle
PVM au début du TP et de ne pas sortir de pvm ou xpvm
avec halt mais avec
quit.
En cas de crash des démons pvmd, il faudra tout de meme répéter le
processus et taper le mot de passe à chaque ajout de machine.