1、登陆远程服务器
2、生成配置文件
jupyter notebook --generate-config
生成的配置文件默认会存放在当前用户目录下的.jupyter文件夹下,名为jupyter_notebook_config.py
~/.jupyter/jupyter_notebook_config.py
3、生成密码
在bash命令行下输入ipython,打开python编辑器,按照如下输入生成密码指纹
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password: # 此处输入密码
Verify password: # 验证密码
Out[2]: 'sha1:xxx'
Out[2]输出的那一行’sha1:xxx’(xxx替代了后面一大串字符,每个密码生成的都不一样)就是我们需要的密码指纹
tip:在Linux下,用鼠标高亮密码那一部分,使用键盘上的组合键shift+delete就可以复制到剪切板,使用ctrl+delete就可以黏贴
4、修改配置文件
使用vim打开jupyter notebook的配置文件
vim ~/.jupyter/jupyter_notebook_config.py
找到c.NotebookApp.password这一行,取消注释并修改它的值为我们用python生成的密文
c.NotebookApp.password = u'sha:xxx' # 刚才复制的那个密码指纹
tip:在vim命令模式下输入“?c.NotebookApp.password = ”可以快速定位到这一行,按回车退出搜索
为避免每次启动jupyter notebook时都需要设置端口号和不开启浏览器,我们可以在这里提前配置好
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8888 #随便指定一个端口
修改完成后,保存并退出
5、启动Notebook
在Linux服务器下启动jupyter notebook,bash中输入
如果没有修改配置文件中的端口号和浏览器启动项,就需要这样输入
jupyter notebook --no-browser --port=8888
6、远程登陆
直接登陆
如果没有防火墙的限制,可以直接登陆的话,可以在客户端直接打开浏览器,在地址栏中输入“服务器的ip:端口号”登陆
ip_address:port # port是我们指定的端口,默认是8888
然后在出现的页面中输入我们设置的密码就能远程登陆了
建立SSH通道
如果直接登陆行不通,可以建立SSH通道,方法是:
在本地机器的Terminal中启动SSH:
ssh -N -f -L localhost:8888:localhost:8848 remote_user@remote_host
其中: -N 告诉SSH没有命令要被远程执行; -f 告诉SSH在后台执行; -L 是指定port forwarding的配置,远端端口是8848,本地的端口号的8888。remote_user@remote_host 用实际的远程帐户和远程地址替换
然后打开浏览器,输入地址:http://localhost:8888/,再输入密码,即可登陆