Open a terminal that supports SSH (e.g. Git Bash). Check that login is successful:
ssh <user>@<ip of remote machine>You should get prompted for passwword.
Create alias for ssh host by adding the following lines to <USERPROFILE>\.ssh\config (create this file without file extention if it doesn't exist)
Host <alias>
HostName <ip of remote machine>
Port 22
User <user>Now you can ssh using
ssh <alias>To set up for passwwordless login, first, generate a key for your local machine:
ssh-keygen -t dsaThe make a .ssh folder at the remote machine, if it doesn't exist:
ssh <alias>
mkdir .ssh
ls -a # List all, check that ~/.ssh/ has been created.Then copy the public key to the remote machine:
scp <USERPROFILE>\.ssh\id_rsa.pub <alias>:.sshEdit <USERPROFILE>\.ssh\config:
Host <alias>
HostName <ip of remote machine>
Port 22
LocalForward 8000 127.0.0.1:8888 # 8888 is the default port for the first Jupyter notebook instance
User <user>Login via SSH, start the screen process, then Jupyter Notebook:
ssh <alias>
screen
cd <working dir>
jupyter notebookYou should now be able to access the Jupyter Notebook on the remote machine from your local browser at http://localhost:8000/.
Before logging out from SSH, save all unsaved input cells, then use the key combination Ctrl+A, quickly followed by D, to detach from the screen. After logging out, the tunnel http://localhost:8000/ is blocked, but will be recovered when you log in again. Any output generated while you are away will not be recoverable, but you can recall environmental outputs.