本地访问服务器端jupyter notebook

1 登陆远程服务器

2 生成配置文件

1
$ jupyter notebook --generate-config

3 生成密码

打开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'

把生成的密文‘sha:ce…’复制下来

4 修改默认配置文件

1
$ vim ~/.jupyter/jupyter_notebook_config.py

进行如下修改:

1
2
3
4
5
c.NotebookApp.ip='*'
#c.NotebookApp.ip='0.0.0.0' # 有时版本不一样
c.NotebookApp.password = u'sha:ce...刚才复制的那个密文'
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888 #随便指定一个端口

5 启动jupyter notebook

1
$ jupyter notebook

6 远程访问

此时应该可以直接从本地浏览器直接访问http://address_of_remote:8888就可以看到jupyter的登陆界面,输入第三步中设置的密码。

7 建立SSH通道

如果登陆失败,则有可能是服务器防火墙设置的问题,此时最简单的方法是在本地建立一个ssh通道:
在本地终端中输入:

1
2
ssh fanfan@222.92.146.251 -L127.0.0.1:1234:127.0.0.1:6666
ssh fanfan@47.106.208.254 -L127.0.0.1:1234:127.0.0.1:8888

便可以在localhost:1234直接访问远程的jupyter了。

8 防火墙开端口

如果远程不能访问,可能是因为端口没有开,需要开启相应端口,重启防火墙