Configuring WSL as a ControlMaster relay server/fr
Important
Cette page est une ébauche; nous travaillons à sa version finale.
Si vous avez des suggestions, écrivez au soutien technique.
Cette procédure permet d'utiliser ControlMaster de WSL pour vous connecter aux grappes avec plusieurs applications Windows natives pour une certaine durée, sans avoir à vous authentifier pour chaque session.
Installer Linux sur Windows avec WSL¶
Voir Travailler avec Windows Subsystem for Linux (WSL)
Dans les fichiers de configuration : * la distribution est Ubuntu * le nom d'hôte pour l'instance WSL est ubuntu; /etc/hostname contient ubuntu et /etc/hosts contient 127.0.0.1 localhost ubuntu * le nom du système Windows est smart et la connexion est faite par l'utilisateur nommé jaime * le nom de l'utilisateur pour la VM Ubuntu est aussi jaime * le nom de l'utilisateur pour l'Alliance est pinto et nous voulons nous connecter à Cedar
Installer d'autres logiciels¶
Vous pouvez vous connecter à Ubuntu à partir de Windows avec ssh localhost.
La configuration ressemble à¶
[ssh client] ----> [ssh relay server] ----> [ssh target server]
your Windows modified authorized_keys using cedar for
machine in your Ubuntu VM this exercise
smart ubuntu Cedar
Se connecter à la VM Ubuntu et créer le répertoire custom_ssh¶
jaime@ubuntu:~$ cat custom_ssh/sshd_config
Port 2222
HostKey /home/jaime/custom_ssh/ssh_host_ed25519_key
HostKey /home/jaime/custom_ssh/ssh_host_rsa_key
AuthorizedKeysFile /home/jaime/custom_ssh/authorized_keys
ChallengeResponseAuthentication no
UsePAM no
Subsystem sftp /usr/lib/openssh/sftp-server
PidFile /home/jaime/custom_ssh/sshd.pid
Pour copier les clés ssh_host de /etc/ssh, utilisez
Modifier .ssh/config sur Ubuntu¶
jaime@ubuntu:~$ cat ~/.ssh/config
Host cedar
ControlPath ~/.ssh/cm-%r@%h:%p
ControlMaster auto
ControlPersist 10m
HostName cedar.alliancecan.ca
User pinto
Modifier les clés permises¶
jaime@ubuntu:~/custom_ssh$ cat /home/jaime/custom_ssh/authorized_keys
ssh-ed25519 AAAZDINzaC1lZDI1NTE5AAC1lZDIvqzlffkzcjRAaMQoTBrPe5FxlSAjRAaMQyVzN+A+
Utilisez la clé publique SSH que vous avez téléchargée dans CCDB.
Lancer le serveur sshd sur Ubuntu¶
Assurez-vous que le serveur est lancé avec votre profil et non avec le profil racine (root). Vous devrez lancer le serveur sshd à chaque fois que vous redémarrez votre ordinateur ou que WSL est fermé ou lancé de nouveau.
Modifier .ssh/config sur smart avec RemoteCommand¶
Se connecter à Cedar¶
jaime@smart ~
$ ssh -t ubuntu -p 2222
Enter passphrase for key '/home/jaime/.ssh/id_ed25519':
Last login: Fri Mar 22 10:50:12 2024 from 99.239.174.157
================================================================================
Welcome to Cedar! / Bienvenue sur Cedar!
...
...
...
[pinto@cedar1 ~]$
Autre option de configuration¶
Vous pouvez aussi personnaliser les clés permises pour Ubuntu et le fichier ~/.ssh/config de Windows pour que certaines applications graphiques fonctionnent sans avoir à indiquer RemoteCommand (par exemple, WinSCP). Dans ce cas, RemoteCommand est indiqué pour la clé publique.
jaime@ubuntu:~/custom_ssh$ cat /home/jaime/custom_ssh/authorized_keys
command="ssh cedar" ssh-ed25519 AAAZDINzaC1lZDI1NTE5AAC1lZDIvqzlffkzcjRAaMQoTBrPe5FxlSAjRAaMQyVzN+A+
jaime@smart ~/.ssh cat config
Host ubuntu
Hostname localhost
#RemoteCommand ssh cedar
Par la suite, vous pouvez encore utiliser ssh ubuntu -p 2222 à partir d'un interpréteur (shell) Windows.