Jupyter Notebook如何设置固定密码并禁用token 登录提示无效凭证怎么解决
问题根因排查
你遇到的无效凭证问题大概率来自以下几个常见错误:
- 配置文件冲突:你同时配置了
jupyter_notebook_config.json和jupyter_notebook_config.py两个配置文件,Jupyter加载时JSON配置的优先级高于Python配置,如果两个文件里的密码哈希不一致就会导致验证失败。 - SHA1哈希生成错误:你手动生成的SHA1哈希值和你实际输入的密码不匹配,大概率是生成哈希的时候输错了密码,或者生成方式不符合Jupyter的规范。
- 配置文件路径错误:你修改的配置文件不是Jupyter实际加载的路径,导致配置没有生效。
- 服务未重启:修改配置后没有重启Jupyter Notebook服务,旧配置仍然在生效。
解决步骤
- 优先清理冗余配置
保留其中一种配置文件即可,建议直接用Python配置文件,删除JSON配置文件里的NotebookApp.password相关字段,避免优先级冲突。 - 重新生成符合规范的密码哈希
不要手动生成哈希,直接用Jupyter官方提供的工具生成,避免格式错误:
打开Python/IPython终端,执行以下命令:
from notebook.auth import passwd # 这里指定algorithm为sha1,和你要用的算法对齐 print(passwd(algorithm='sha1'))
按提示输入你要设置的密码两次,会直接输出符合格式的SHA1哈希串,替换你py配置文件里的c.NotebookApp.password的值即可。
3. 确认配置文件路径正确
执行以下命令查看Jupyter加载的配置文件路径:
jupyter --paths
确认你修改的py配置文件在输出的config路径列表下,默认路径是~/.jupyter/jupyter_notebook_config.py(Linux/macOS)或C:\Users\你的用户名\.jupyter\jupyter_notebook_config.py(Windows)。
4. 重启Jupyter服务生效
关闭当前运行的所有Jupyter进程,重新启动服务,再用无痕窗口访问测试即可。
额外验证方案
如果还是验证失败,可以临时把c.NotebookApp.password留空,同时把c.NotebookApp.token设置为'test123',重启服务后访问时用tokentest123登录,确认配置本身是生效的,再重新设置密码即可。
内容的提问来源于stack exchange,提问作者sirj
相关产品推荐
相关产品推荐

