Make sure you are using Moonglow extension v0.23.0 or above.

Moonglow supports end-to-end encryption of your notebook code. However, it requires some custom configuration.

This guide assumes you already have the Moonglow Extension installed.

Step 1. Create an SSH Key

You must have an SSH key configured on your local machine.

Moonglow can’t currently support SSH keys with passphrases.

Step 2. Configure the Key in the Extension

You only need to do this if your SSH key is saved somewhere other than ~/.ssh/id_ed25519.

In VSCode, run the command Moonglow: Set SSH Key Path and put in the path to your SSH key (in most instances, on Mac OS X, it should be /Users/USERNAME/.ssh/id_ed25519).

You should see a pop-up in the bottom right saying “SSH public key was updated on Moonglow servers.”

Step 3. Enable End-to-End Encryption in Settings

Run the VSCode command Preferences: Open User Settings.

Search for Moonglow. You should see an option for Moonglow: Use Encrypted Tunnels. Check the box.

Step 4. Start Server

To start a Jupyter server remotely, run the the command Moonglow: Start Server.

You should see the server starting up in the Moonglow Sessions section on the left.

When starting AWS servers, you may see a 504 or 524 error. This won’t affect the server startup.

Step 5. Connect to the Server

Go to an iPython notebook in VSCode. In the top right, you can see the kernel selection. Select it, then select Moonglow Servers.

Select the instance you want to connect to, then select the Jupyter Session you want to connect to. Now you’re all set!