How to Connect to your remote IPython Jupyter Notebook from your Local Windows Machine

Putty tunneling for remote access to Jupyter Notebooks

Chris Fotache
2 min readNov 19, 2018

I’m sure this issue came up for many Python developers who use cloud VM’s for their development (like Azure, AWS and other services). You might do this whether you need a Linux environment (but you mainly work in Windows), or if you want the power of a cloud-based GPU for deep learning projects.

Normally, if you run this locally, you can launch the jupyter notebook which will pop out a browser, but that’s not always that easy when you just access the VM via SSH (though you might be able to VNC into it for a visual desktop). So here it is, in brief, how you can open the remote notebook on your local Windows machine.

You have to start with Putty, a free utility that you probably already use to SSH into that remote machine. So open Putty and enter the VM’s server name:

Then, under Connection, open the SSH node and go to the Tunnels option. Since Jupyter normally runs on the 8888 port, enter it in the Source port box, and then enter localhost:8888in Destination:

Click Add, make sure it was recorded under Forwarded ports, and if you already entered the machine name on the main screen you can click Open to launch the connection:

In the Putty window you can login, navigate to the folder where your notebooks are, and then launch Jupyter with the no-browser option:

jupyter notebook --no-browser

This will start the notebook server and show you the URL you can access it with:

Now copy that bottom HTTP link and enter it in your browser and bam! you’ll have access from your machine to your notebooks!

Chris Fotache is an AI researcher with CYNET.ai based in New Jersey. He covers topics related to artificial intelligence in our life, Python programming, machine learning, computer vision, natural language processing and more.

--

--

Chris Fotache
Chris Fotache

Written by Chris Fotache

AI researcher at CYNET.ai, writing about artificial intelligence, Python programming, machine learning, computer vision, robotics, natural language processing

Responses (1)