如何远程访问Jupyter Notebook

让Jupyter Notebook支持跨网络访问的方法。

完全开放,不需密码

1. 登陆远程服务器

2.生成配置文件

$jupyter notebook --generate-config

3. 修改默认配置文件

$vim ~/.jupyter/jupyter_notebook_config.py
进行如下修改:

1
2
3
c.NotebookApp.ip = '*' #支持其它IP访问,关键
c.NotebookApp.open_browser = False 不在本地打开浏览器
c.NotebookApp.port = 10000 #随便指定一个端口

4. 启动jupyter notebook:

jupyter notebook

5. 远程访问

此时应该可以直接从本地浏览器直接访问http://address_of_remote:10000就可以看到jupyter的登陆界面,输入密码即可。

需要密码

1. 生成密码

打开ipython,创建一个密文的密码:

1
2
3
4
5
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:ce23d945972f:34769685a7ccd3d08c84a18c63968a41f1140274'

2. 添加密码

$vim ~/.jupyter/jupyter_notebook_config.py
进行如下修改:

1
c.NotebookApp.password = u'sha:ce...刚才复制的那个密文'

Screen Shot 2017-07-18 at 14.16.18

3. 建立ssh通道

若还是无法登录,也可用

ssh username@address_of_remote -L 127.0.0.1:10000:127.0.0.1:10000

建立ssh通道,便可以在localhost:10000直接访问远程的jupyter了。

参考自