Setp1: 生成配置文件
> jupyter notebook --generate-config
# 会在当前操作系统登录用户下生成~/.jupyter文件夹及jupyter_notebook_config.py文件
Step2:生成密码
方法一:
> jupyter notebook password
Enter password: ****
Verify password: ****
[NotebookPasswordApp] Wrote hashed password to /Users/you/.jupyter/jupyter_notebook_config.json
方法二:
# 进入python命令行
In[1]: from notebook.auth import passwd
In[2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'
Step3: 添加密码到配置文件中
c.NotebookApp.password = u'replace your password'
Step4: 使用SSL进行加密通信
# 生成证书
> openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mykey.key -out mycert.pem
# 会生成mykey.key以及mycert.pem文件
# jupyter_notebook_config.py
c.NotebookApp.certfile = u'/absolute/path/to/your/certificate/mycert.pem'
c.NotebookApp.keyfile = u'/absolute/path/to/your/certificate/mykey.key'
Step5: 总结
# Set options for certfile, ip, password, and toggle off
# browser auto-opening
c.NotebookApp.certfile = u'/absolute/path/to/your/certificate/mycert.pem'
c.NotebookApp.keyfile = u'/absolute/path/to/your/certificate/mykey.key'
# Set ip to '*' to bind on all interfaces (ips) for the public server
# 只要其他客户端可以访问到服务器地址(ip),即可远程访问
c.NotebookApp.ip = '*'
c.NotebookApp.password = u'sha1:bcd259ccf...<your hashed password here>'
c.NotebookApp.open_browser = False
# It is a good idea to set a known, fixed port for server access
c.NotebookApp.port = 9999