当前位置: 首页 > 图灵资讯 > 行业资讯> Jupyter Notebook 怎么设置登录密码

Jupyter Notebook 怎么设置登录密码

来源:图灵python
时间: 2026-08-11 21:57:54
jupyter notebook 由于配置文件的优先冲突,password设置无用。.password字段在json中覆盖.py中的设置,token存在时优先考虑token;正确的做法是清空.json、在.password并置空token在py中明确设置。

直接用 jupyter notebook password 可以设置,但设置后不生效是正常的——根本原因是配置文件的优先冲突,token 未关闭,或密码被 .json 文件覆盖。

为什么 jupyter notebook password 设置了却没用?

这个命令确实会生成哈希密码并写入 .jupyter/jupyter_notebook_config.json,但是**不会自动修改 jupyter_notebook_config.py**。而且如果手动更改 .py 文件里的 c.NotebookApp.password,Jupyter 开始时会优先阅读 .json(高优先级),导致你改变 .py 无视配置。

  • jupyter_notebook_config.json 优先级高于配置项 jupyter_notebook_config.py
  • 如果 .json 里有 "password" 即使值是空的或非法的,字段也会被屏蔽 .py 中的设置
  • 同时存在 token 和 password 时,Jupyter 可能只认 token,还提示导致密码输送 Invalid credentials
三步闭环操作正确设置密码

绕过优先级陷阱,必须让步 password 成为唯一的认证方式:

  • 先清空或删除 .jupyter/jupyter_notebook_config.json(特别是确认里面没有 "password""token" 字段)
  • 确保 jupyter_notebook_config.py 注释已取消,赋值已明确:c.NotebookApp.password = u'sha1:xxx...'c.NotebookApp.token = ''
  • 重启前增加验证:操作: jupyter notebook --debug,查看日志是否打印 Using password: Truetoken: ''
如何产生合法性 password 字符串?

不要手敲哈希,用 Python 原始函数生成最稳定。注意版本差异:

Jupyter Notebook 7.5.4

Jupyter Notebook 7.5.4 官方 PyPI wheel 包下载适用于本地交互式代码运行、数据分析、教学演示和文件配置实践。

下载

  • Jupyter Notebook ≥ 6.0(推荐):python -c "from jupyter_server.auth import passwd; print(passwd())"
  • Jupyter Notebook python -c "from notebook.auth import passwd; print(passwd())"
  • 执行后输入两个密码,输出类似 argon2:$argon2id$v=19$m=10240,t=10,p=8$...sha1:ce23d945972f:3476685a7cd3d08cd84a18c63968a41f14,直接复制整串
远程访问时必须关闭 token 并放开 ip

否则,密码可以在本地输入,仍然可以远程跳跃 token 登录页或直接拒绝连接:

  • c.NotebookApp.ip = '0.0.0.0''*'(默认情况不能留下 '127.0.0.1'
  • c.NotebookApp.port = 8888(选择未被占用的端口)
  • c.NotebookApp.open_browser = False(当服务器没有图形界面时,必须)
  • c.NotebookApp.allow_password_change = False(防止别人在网页上点击“”Change password“绕过你的配置)

真正容易被忽视的是 .json 文件本身的存在——它就像一层无声的覆盖层,不删除,全部 .py 所有的努力都白费了。