设置使用密码访问 jupyter notebook 服务

前提:notebook配置文件

检查是否存在配置文件jupyter_notebook_config.py,这个文件的默认位置时在你的主目录下Jupyter文件夹中:

  • Windows: C:\Users\USERNAME\.jupyter\jupyter_notebook_config.py
  • OS X: /Users/USERNAME/.jupyter/jupyter_notebook_config.py
  • Linux: /home/USERNAME/.jupyter/jupyter_notebook_config.py

如果Jupyter文件夹不存在,或者文件夹存在然而目录内没有配置文件,运行以下命令:

$ jupyter notebook --generate-config

这个命令会创建Jupyter文件夹(如有必要)和配置文件jupyter_notebook_config.py

自动化密码设置

对于 notebook 5.3,使用 token 第一次登录后,notebook 服务器会在用户界面上给你配置密码的机会。

会显示窗口请你输入当前 token,以及新密码,输入后单击Login and setup new password

下次登录时你会被提示输入密码,而不要求输入 token。

首次登录配置密码可以通过设置--NotebookApp.allow_password_change=False禁用。

从 notebook 5.0 开始,可以通过命令来为 notebook 服务器输入和保存密码。jupyter notebook password会提示你输入密码,并将哈希值保存在jupyter_notebook_config.json中。

$ jupyter notebook password
Enter password: ****
Verify password: ****
[NotebookPasswordApp] Wrote hashed password to /Users/you/.jupyter/jupyter_notebook_config.json

准备哈希密码

你也可以手工准备哈希密码,使用函数notebook.auth.security.passwd():

In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'

注意:调用没有参数的passwd()时,系统会提示你输入、重新输入密码,像上述代码片段一样。这个函数可以接受字符串作为参数,如passwd('mypassword'),但请务必不要在IPython中这样做,因为它将会保存在你的输入历史中。

将哈希密码添加到配置文件

上一步产生的哈希码可以添加到jupyter_notebook_config.py中,例如:

c.NotebookApp.password = u'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'

自动化密码配置产生的哈希码存放于jupyter_notebook_config.json,手工产生的哈希码存放于jupyter_notebook_config.py.json配置文件优先于.py配置文件,因此如果Json文件中已经配置了密码,手工配置的密码会无效。

以上内容节选自jupyter notebook 文档。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券