JupyterLab 7 重置密码

JupyterLab 7 重置密码更改了方式,目前「豆包」和「GPT-4o mini」给出的答案(后者的知识截至 23 年 10 月)都是错误的。

手动配置密码:
如果你使用的是 Jupyter Notebook 的密码保护功能,可以在更新后手动重新设置密码。你可以使用以下命令生成密码哈希:

   from notebook.auth import passwd
   passwd()

这将提示你输入密码并返回一个哈希值。你可以将这个哈希值添加到 ~/.jupyter/jupyter_notebook_config.py 文件中,使用如下配置:
c.NotebookApp.password = '你的哈希值'

当场是导入 notebook.auth 包时会遭遇报错,提示 ModuleNotFoundError: No module named 'notebook.auth'。当寻遍了 notebook 包的所有地方,就会发现没有 auth

实际上,根据 官方文档 的解释,在 Jupyterlab 7.x 版本中,密码的配置方式已经发生了变化。除了使用推荐的

jupyter server password

的命令外,还可以使用以下命令来手动设置密码:

python -c "from jupyter_server.auth import passwd; print(passwd())"

即将 notebook 改为 jupyter_server 即可。

另外,JupyterLab 的密钥存储虽然用了 sha1 算法,但明文存储时是有加盐的,因此实际存储是 'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed' 的模样,无法手算一个 sha1 值硬写配置文件。 JupyterLab 7.x 中的密码算法不再是 sha1,而是换成了 argon2id,配置文件明文存储时形如:argon2:$argon2id$v=19$m=10240,t=10,p=8$BL9Kcwv0eMv+Hfq/K4uuCQ$Kwlq72XsHTvP4oNpcZF+/8Sk4RxHLXunOnkx7aKaJes


槽,MarsCode 竟然知道这些知识,自动帮我补完了这篇文章的大部分技术细节...

Comments
Write a Comment
'