I love working in Pycharm when it comes to jupyter notebooks because there is extensive support for common IDE features and a fantastic debugger.

However accessing remote jupyter notebook is a headache for newbies and the documentation is rather obscure, thus this tutorial.

First in your remote server, run

jupyter notebook --generate-config

Then use your favorite editor to edit the config file

vim ~/.jupyter/jupyter_notebook_config.py

Uncomment and set the following lines to

c.NotebookApp.ip = ‘*’
c.NotebookApp.port = ‘8888’
c.NotebookApp.open_brower = False

Set a password to avoid entering a token each time.

c.NotebookApp.token = "yourpassword"

Start jupyter notebook on the server

jupyter notebook

In Pycharm, click the triangle of the address bar to configure the server