20180414更新:
发现这东西完全可以像一个类似于windows下登录远程服务器的类似Xshell, Xftp一样的东西。
传文件、拷文件,terminal,妥了!!
爱上Jupyter 了!!!
官方链接:https://jupyter-notebook.readthedocs.io/en/latest/public_server.html#notebook-server-security
===================================================================
主要参考 Monkey's Blog, 首先感谢原作者。
主要思路:
- 安装Jupyter notebook
- 配置文件
- 设置密码
- 生成ssl证书
- 给配置文件添加ssl密钥和自己的设置的登录密码
- 后台运行挂起
- Enjoy Jupyter-lab.
1. 服务器端安装Anaconda, 安装好jupyter notebook 等等
2. 生成配置文件
jupyter notebook --generate-config
3. 配置密码
打开python,输入
from notebook.auth import passwd
passwd()
输入你设置的自己的密码,然后他生成一个密码序列,复制下来。
4. 生成ssl证书,最后是用https登录的:
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mykey.key -out mycert.pem
5.修改jupyter配置文件,
打开第2步生成的配置文件,一般在:
~/.jupyter
打开配置文件
vim ~/.jupyter/jupyter_notebook_config.py
添加进入几行:
c.NotebookApp.password = u'sha1:XXXXXXXXXXXXXXXXXXXXXXXXXXXX'
刚刚3生成的密码序列。
c.NotebookApp.certfile = u'/absolute/path/to/your/certificate/mycert.pem'
c.NotebookApp.keyfile = u'/absolute/path/to/your/certificate/mykey.key'
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
#9999是自己设置的,你也可以设成别的
c.NotebookApp.port = 9999
/absolute/path/to/your/certificate是指你存放mycert.pem和mykey.key的路径,执行第4步生成ssl的 当前路径,用pwd可以看
6. 在服务器上用 nohup 后台挂起运行jupyter
nohup jupyter notebook &
# 如果你装jupyter-lab的就打开jupyter-lab也行
7. 现在你可以在任何浏览器上输入:
https://XXX.XX.XXX:abcd
(假设你的服务器IP是XXX.XX.XXX,你前面第5步设置的port是abcd)
输入你前面自己设置的密码就可以访问服务器上jupyter了。
再次感谢原作者(http://qiuqingyu.cn/2017/05/15/在服务器端升级python并安装Jupyter/)。
官方链接:https://jupyter-notebook.readthedocs.io/en/latest/public_server.html#notebook-server-security