如何删除 Jupyter Notebooks 的密码并重新设置令牌

How to remove password for Jupyter Notebooks and set token again

我需要为 Pycharm 执行此操作。

这是我无法撤消的步骤。

  1. 添加了一个密码用于身份验证使用:

    $ jupyter notebook password

  2. 然后我使用下面的命令注释了jupyter_notebook_config.py

    中的所有代码

    $ jupyter notebook --generate-config

  3. 然后我删除了在jupyter_notebook_config.json中生成的散列密码,现在看起来像这样

    { "NotebookApp": { "password": "" } }

  4. 然后我在 jupyter_notebook_config.py 文件

    中做了以下 更改

    c.NotebookApp.password = ''
    c.NotebookApp.token = '< generated>'

  5. 现在,当我启动 Jupyter notebook 时,没有生成令牌,也没有密码。

    Pycharm git:(master) ✗ jupyter notebook
    [I 21:53:35.158 NotebookApp] Serving notebooks from local directory: /Users/...
    [I 21:53:35.158 NotebookApp] 0 active kernels
    [I 21:53:35.158 NotebookApp] The Jupyter Notebook is running at:
    [I 21:53:35.158 NotebookApp] http://localhost:8888/?token=%3Cgenerated%3E

    Copy/paste this URL into your browser when you connect for the first time,
    to login with a token:
    http://localhost:8888/?token=%3Cgenerated%3E

现在,我怎样才能让它像以前那样,或者我怎样才能取回令牌??

PS - 我什至试过 jupyter notebook list,但还是一样 URL 来了。此外,我正在 mac 上执行此操作,因此请给予相应建议。

你不应该把 <generated> 直接放在那里。您应该放置一些生成的令牌,例如 f45cf5d6803b81bcd41bcfbf70130293bcf7a773feabe827.

要生成您自己的密码,运行以下命令:

  • python3 -c 'import os;print(os.urandom(24).hex())'(在 Linux / macOS 上) 或
  • py -c "import os;print(os.urandom(24).hex())"(在 Windows 上)

嗯,我的配置看起来不一样了。

只要删除这个文件,它就会默认制作一个令牌

$ cat ~/.jupyter/jupyter_notebook_config.json
{
  "NotebookApp": {
    "password": "sha1:d0a89f391169:9ca771c3518f845438693b938b39703ce1104eaf"
  }

运行 在 shell:

ipython

from IPython.lib import passwd
passwd()

输入两次密码并复制'sha1:12345'代码。

之后,编辑 jupyter 配置文件:

vi ./jupyter/jupyter_notebook_config.py

...并更改密码。

c.NotebookApp.password='sha1:12345'

粘贴您的 'sha' 代码和 运行 jupyter notebook。

尝试使用 .config("spark.submit.deployMode", "client")

我遇到过这样一种情况,我想要基于令牌的身份验证(如果您不指定密码,则为默认设置),但我一直在浏览器中获取密码表单。 jupyter notebook list 显示了一个空标记。

我确定我在 ~/.jupyter/jupyter_notebook_config.py 中没有输入密码,并且我删除了 ~/.jupyter/jupyter_notebook_config.json 文件(在 jupyter notebook password 为 运行 时创建),但我仍然得到重新启动服务后的密码形式。

似乎最终解决问题的方法是将空白密码输入 jupyter_notebook_config.py 并重新启动服务。之后,jupyter notebook list 开始显示自动生成的令牌,并且在输出 Jupyter URL 时将令牌显示在启动日志中。

一旦自动生成的令牌开始显示,如果您想指定令牌,请按照@gschizas 的说明进行操作。

奇怪的是,它需要在配置中添加一个空白密码条目才能使令牌身份验证返回——就好像过去设置密码会阻止 jupyter 恢复到其 "token authentication by default" 行为一样.

你可以简单地发布

jupyter lab password

这将在您的配置文件中生成一个新的哈希值,您可以将其用于登录。