Configuring WSL as a ControlMaster relay server: Difference between revisions

From Alliance Doc
Jump to navigation Jump to search
No edit summary
No edit summary
Line 78: Line 78:


jaime@smart ~/.ssh
jaime@smart ~/.ssh
</pre>
=== You are now ready to try to login to cedar ===
<pre>
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 ~]$
</pre>
</pre>

Revision as of 18:05, 22 March 2024

Disclaimer: This is still and experimental procedure (work in progress). Your feedback is welcome.

How to install Linux on Windows with WSL[edit]

  • Please follow this link for more detailed instructions

https://learn.microsoft.com/en-us/windows/wsl/install

  • this setup assumes the following:
* you selected Ubuntu as your distro of choice
* the hostname for the WSL instance is 'ubuntu' 
  edit /etc/hostname (ubuntu) and /etc/hosts (127.0.0.1 localhost ubuntu)
* the Windows system is named 'smart' and my login name is 'jaime'
* the user name on the ubuntu VM is also 'jaime'
* the Alliance user name is 'pinto' and I want to connect to 'cedar'

Install additional packages[edit]

 sudo apt update && sudo apt upgrade -y
 sudo apt install openssh-server -y

NOTE: you may login from Windows to Ubuntu with: ssh localhost

General ideal of the setup[edit]

[ssh client] ----> [ssh relay server] ----> [ssh target server]
your Windows     modified authorized_keys     target machine
  machine          in your Ubuntu VM           using cedar
  'smart'              'ubuntu'                  'cedar'

Login to the ubuntu VM and create a custom_ssh folder[edit]

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
#UsePrivilegeSeparation no
Subsystem sftp /usr/lib/openssh/sftp-server
PidFile /home/jaime/custom_ssh/sshd.pid

NOTE: you may copy the ssh_host keys from /etc/ssh

Customize .ssh/config on ubuntu[edit]

jaime@ubuntu:~$ cat .ssh/config
Host cedar
    ControlPath ~/.ssh/cm-%r@%h:%p
    ControlMaster auto
    ControlPersist 10m
    HostName  cedar.computecanada.ca
    User pinto

Configure your customer authorized_keys[edit]

jaime@ubuntu:~/custom_ssh$ cat /home/jaime/custom_ssh/authorized_keys
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHSRvqzlffkzcjRAaMQoTBrPe5FxlSA6cQ0v3yVzN+A+

NOTE: use the same public ssh key that you uploaded to CCDB

Now start the sshd server on 'ubuntu'[edit]

jaime@ubuntu:~/custom_ssh$ /usr/sbin/sshd -f ${HOME}/custom_ssh/sshd_config

NOTE: make sure your start the server as yourself, now as root.

Customize .ssh/config on smart RemoteCommand[edit]

jaime@smart ~/.ssh cat config

Host ubuntu
        Hostname localhost
        RemoteCommand ssh cedar

jaime@smart ~/.ssh

You are now ready to try to login to cedar[edit]

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 ~]$