如何禁用Jupyter笔记本会话的密码请求?

Sal*_*ino 25 python ipython python-3.5 jupyter jupyter-notebook

我使用以下命令多年来一直在推出Jupyter Notebook:

jupyter-notebook --port=7000 --no-browser --no-mathjax
Run Code Online (Sandbox Code Playgroud)

当我尝试在浏览器上打开jupyter时,它会向我询问密码,即使我以前从未设置过任何密码.重要的是要注意,如果我将端口设置为不同于7000 (eg., the default 8888)接口的值将打开没有问题

我在本地运行jupyter,并在以下设置:

Python 3.5.2
Run Code Online (Sandbox Code Playgroud)

安装以下模块:

jupyter (1.0.0), jupyter-client (4.4.0), jupyter-console (5.0.0), jupyter-core (4.2.1), ipykernel (4.5.2), ipython (5.1.0), ipython-genutils (0.1.0), nbconvert (4.3.0), nbformat (4.2.0), notebook (4.3.0)
Run Code Online (Sandbox Code Playgroud)

注意:我没有jupyter配置文件

以下是服务器的一些输出行:

[I 19:16:24.358 NotebookApp] Serving notebooks from local directory: /Users/my_user_name
[I 19:16:24.358 NotebookApp] 0 active kernels
[I 19:16:24.358 NotebookApp] The Jupyter Notebook is running at: http://localhost:7000/?token=aa0dab6e2d85766f3e2e4f0f6633e4473db56a56c94cac76
[I 19:16:24.358 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
Run Code Online (Sandbox Code Playgroud)

我尝试在浏览器上打开它后使用以下消息(使用端口7000)

[I 19:21:56.848 NotebookApp] 302 GET /tree (::1) 8.46ms
[D 19:21:56.857 NotebookApp] Using contents: services/contents
[D 19:21:56.919 NotebookApp] Path base/images/favicon.ico served from /usr/local/lib/python3.5/site-packages/notebook/static/base/images/favicon.ico
[D 19:21:56.920 NotebookApp] Path components/jquery-ui/themes/smoothness/jquery-ui.min.css served from /usr/local/lib/python3.5/site-packages/notebook/static/components/jquery-ui/themes/smoothness/jquery-ui.min.css
[D 19:21:56.922 NotebookApp] Path components/jquery-typeahead/dist/jquery.typeahead.min.css served from /usr/local/lib/python3.5/site-packages/notebook/static/components/jquery-typeahead/dist/jquery.typeahead.min.css
[D 19:21:56.923 NotebookApp] Path style/style.min.css served from /usr/local/lib/python3.5/site-packages/notebook/static/style/style.min.css
[D 19:21:56.925 NotebookApp] Path auth/css/override.css served from /usr/local/lib/python3.5/site-packages/notebook/static/auth/css/override.css
[D 19:21:56.926 NotebookApp] Path components/es6-promise/promise.min.js served from /usr/local/lib/python3.5/site-packages/notebook/static/components/es6-promise/promise.min.js
[D 19:21:56.926 NotebookApp] Path components/requirejs/require.js served from /usr/local/lib/python3.5/site-packages/notebook/static/components/requirejs/require.js
[D 19:21:56.933 NotebookApp] Path base/images/logo.png served from /usr/local/lib/python3.5/site-packages/notebook/static/base/images/logo.png
[D 19:21:56.934 NotebookApp] 200 GET /login?next=%2Ftree (::1) 80.86ms
[D 19:21:57.001 NotebookApp] Path custom.css served from /usr/local/lib/python3.5/site-packages/notebook/static/custom/custom.css
[D 19:21:57.003 NotebookApp] 304 GET /custom/custom.css (::1) 3.11ms
[D 19:21:57.341 NotebookApp] Path auth/js/main.min.js served from /usr/local/lib/python3.5/site-packages/notebook/static/auth/js/main.min.js
[D 19:21:57.344 NotebookApp] 200 GET /static/auth/js/main.min.js?v=20161219191623 (::1) 3.57ms
Run Code Online (Sandbox Code Playgroud)

此时有一个来自jupyter的页面,要求我插入一个我从未设置过的密码.

解决了!

随着笔记本电脑模块(4.3.1)的最新更新,问题已经解决.

启动jupyter笔记本后,系统会提示用户在第一次连接时将URL粘贴到浏览器中:

Copy/paste this URL into your browser when you connect for the first time,
to login with a token:
    http://localhost:7000/?token=32be0f5ee74cfe521187bc479855ce8b9fbab9e8021701c9
Run Code Online (Sandbox Code Playgroud)

这解决了这个问题!

Cir*_*四事件 33

您可以使用以下命令完全删除密码:

jupyter notebook --ip='*' --NotebookApp.token='' --NotebookApp.password=''
Run Code Online (Sandbox Code Playgroud)

没有--NotebookApp.password='',当从远程计算机连接到本地服务器时:

jupyter notebook --ip='*'
Run Code Online (Sandbox Code Playgroud)

它仍然要求输入密码,这是一个很好的安全默认值,有时会令人恼火.

在Jupyter 4.4.x上测试过.

  • 仅在某些情况下“不安全”。重要的是,在大多数情况下,它比默认情况要少得多,默认情况涉及在本地网络上毫无意义地复制令牌。 (3认同)
  • 这会在 POST 中缺少代理“_xsrf”参数后引发错误 (2认同)
  • @mins 在家庭局域网上可能没问题。OP 的问题本质上是关于克服安全机制的。 (2认同)

小智 20

如何通过禁用 jupyter Notebook Password & Token 来避免“无效凭据”

首先打开Anaconda Prompt

  1. 输入命令jupyter notebook --generate-config

在此处输入图片说明

  1. 从 jupyter 目录,编辑jupyter_notebook_config.py

对以下命令进行了更改

 c.NotebookApp.token = ''
 c.NotebookApp.password = u''
 c.NotebookApp.open_browser = True
 c.NotebookApp.ip = 'localhost'
Run Code Online (Sandbox Code Playgroud)

现在从 anaconda navigator 启动 jupyter notebook肯定问题会尽快解决..


小智 13

如果您尝试在docker没有密码的情况下运行,请使用CMD如下所示:

CMD ["jupyter", "notebook", "--no-browser","--NotebookApp.token=''","--NotebookApp.password=''"]
Run Code Online (Sandbox Code Playgroud)


oko*_*ibm 7

Notebook 4.3.0默认启用了登录安全性.要在密码字段中输入的令牌在启动期间打印在notebok服务器的输出中(或者可以直接包含在URL中)

The Jupyter Notebook is running at: http://0.0.0.0:8888/?token=f3e7fa23fb7e347ad05914368b625416b7a95a674dc078f7
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅http://jupyter-notebook.readthedocs.io/en/latest/security.html#server-security,包括禁用该功能.

但是,这并不能解释为什么在一个端口上运行而不在另一个端口上运行时获得密码提示


小智 6

您可以首先使用以下命令创建 jupyter 配置文件:

cd ~/.jupyter

jupyter notebook --generate-config 然后在创建的配置文件中将c.NotebookApp.token参数设置为空字符串

c.NotebookApp.token = ''

正如评论中提到的,设置为空字符串会完全禁用身份验证,这是不推荐的。


YjR*_*Pya 4

自上次更新 jupyter-notebook 包以来,我的机器上也出现了同样的问题。安装版本后

jupyter-notebook-4.3.0-1-any.pkg.tar.xz
Run Code Online (Sandbox Code Playgroud)

它提示我输入一个我从未设置过的密码。 降级

jupyter-notebook-4.2.3-1-any.pkg.tar.xz
Run Code Online (Sandbox Code Playgroud)

为我工作,使系统保持高效的环境。当然这只是一个快速补丁

我还想知道密码是在哪里设置的,因为我的文件夹中没有显式的配置文件.jupyter。设置我自己的

password_required=False
Run Code Online (Sandbox Code Playgroud)

没有什么区别。