Jupyter密码未隐藏

问题描述

当我尝试设置jupyter笔记本密码时,打开jupyter_notebook_config.json文件时没有得到密码哈希。

这是json文件的输出:

{
"NotebookApp": {
  "password": 
 "argon2:$argon2id$v=19$m=10240,t=10,p=8$pcTg1mB/X5a3XujQqYq/wQ$/UBQBRlFdzmEmxs6c2IzmQ"
 }

}

我也尝试从python运行passwd(),就像在online中找到的准备散列密码的说明中一样,但是它产生的结果与上面相同。没有哈希值。

有人可以让我知道我在做什么错吗?

我正在尝试以类似于Deep Learing Institute Nano的方式设置Jetson Nano。有了该版本,您可以远程运行Jupyter Lab,因此nano可以无头运行。我正在做同样的事情,没有运气。

谢谢!

解决方法

这是默认算法 (argon2):

https://github.com/jupyter/notebook/blob/master/notebook/auth/security.py#L24

如果您愿意,您可以提供不同的算法,例如 sha1

>>> from notebook.auth import passwd
>>> from notebook.auth.security import passwd_check
>>>
>>> password = 'myPass123'
>>>
>>> hashed_argon2 = passwd(password)
>>> hashed_sha1 = passwd(password,'sha1')
>>> 
>>> print(hashed_argon2)
argon2:$argon2id$v=19$m=10240,t=10,p=8$JRz5GPqjOYJu/cnfXc5MZw$LZ5u6kPKytIv/8B/PLyV/w
>>>
>>> print(hashed_sha1)
sha1:c29c6aeeecef:0b9517160ce938888eb4a6ec9ca44e3a31da9519
>>> 
>>> passwd_check(hashed_argon2,password)
True
>>>
>>> passwd_check(hashed_sha1,password)
True 

检查您的机器上是否没有运行不同的 Jupyter 服务器。我碰巧在端口 8888 上反复尝试输入密码,而我想要的服务器在端口 8889 上。

还有一次,Anaconda 在 localhost:8888 上启动了一个服务器,我试图从 docker 容器访问映射端口,也在端口 8888 上,而唯一的访问方式实际上是在 0.0.0.0:8888 .

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...