Jupyter Notebook Remote Connection and Security - theunissenlab/lab-documentation GitHub Wiki

You can remotely access a jupyter notebook server running on a lab workstation by connecting to it through the browser. This is secure when under the VPN but if not accessing within the VPN additional security measures should be taken. None of this needs to be done if only accessing the notebook locally (on localhost).

If only connecting to a notebook through the VPN these steps may not be necessary at all.

Setting a password

Set this in ~/.jupyter/jupyter_notebook_config.py

Setting up HTTPS/SSL encryption

There are two components to using https. First is that communication between the browser and server is encrypted. Second is that there is validation that the data received is coming from a trusted source.

You can follow the instructions here: https://juno.sh/ssl-self-signed-cert/

Essentially you set up a certificate issuing authority. Then generate a certificate for jupyter notebooks to use that is signed by the "authority" you just created. If you then add the certificate authority's key to your browser as a trusted authenticator, you won't be prompted with warnings every time you connect to your notebook through https.