2

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

这是 json 文件的输出:

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

}

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

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

我正在尝试以与 Deep Learing Institute Nano 构建类似的方式设置 Jetson Nano。通过该构建,您可以远程运行 Jupyter Lab,以便 nano 可以无头运行。我正在尝试做同样的事情,但没有运气。

谢谢!

4

1 回答 1

7

这是默认算法 ( 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当我的预期服务器在 port上时,我碰巧在 port 上一遍又一遍地尝试密码8889

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

于 2020-12-29T21:26:36.333 回答