【问题标题】:Jupyter Notebook Server password invalidJupyter Notebook Server 密码无效
【发布时间】:2017-02-07 03:34:45
【问题描述】:

我使用了此处的设置说明: http://jupyter-notebook.readthedocs.io/en/latest/public_server.html

启动服务器后,每次我尝试登录时,它都拒绝接受我的密码。我已经验证了哈希,使用 notebook.auth 中的 passwd() 函数作为 sha1 生成器。

最后,密码值在 jupyter_notebook_config.py 文件中设置。

这里有什么我遗漏的吗。我可以看到 POST 请求和所有内容,但它不会使用我设置的密码。

到目前为止,一些谷歌搜索没有出现任何结果。我在 Linux Mint 17 上使用 Anaconda v1.5.1 发行版。 谢谢

【问题讨论】:

  • 我遇到了这个错误,现在我找到了原因。我使用 jupyter notebook 密码设置 pwd,然后设置 pwd 然后我执行 jupyter-lab 两者都不同。在我使用 jupyter-lab 密码设置 pwd 后,它现在运行良好。

标签: python anaconda jupyter


【解决方案1】:

我能够设置密码并使用该密码登录。 我运行jupyter notebook password 时运气不佳,但jupyter server password 确实有效。

【讨论】:

  • 终于!你太棒了!
  • 在启动时导致我出现这种情况的线索如下:` 'password' has move from NotebookApp to ServerApp.此配置将传递给 ServerApp。请务必在我们的下一个版本发布之前更新您的配置。`
  • 自上周以来我一直在寻找这个答案。非常感谢!
  • 这为我节省了几个小时。谢谢
【解决方案2】:

您可以对由命令jupyter notebook --generate-config 生成的文件中的所有选项进行配置。

这将生成一个文件,其中在文件~/.jupyter/jupyter_notebook_config.py 中解释并注释掉了所有配置。

  • vi jupyter_notebook_config.py 访问和编辑

在这个文件中你可以取消注释:

## Allow password to be changed at login for the notebook server.
#
#  While loggin in with a token, the notebook server UI will give the opportunity
#  to the user to enter a new password at the same time that will replace the
#  token login mechanism.
#
#  This can be set to false to prevent changing password from the UI/API.
c.NotebookApp.allow_password_change = True

并用

设置一些起始或无令牌
## Token used for authenticating first-time connections to the server.
#
#  When no password is enabled, the default is to generate a new, random token.
#
#  Setting to an empty string disables authentication altogether, which is NOT
#  RECOMMENDED.
c.NotebookApp.token = ''

对于简单的单一密码:在 jupyter_notebook_config.py 中:

# my notebooks settings
c = get_config()
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 5000

# setting up the password
from IPython.lib import passwd
password = passwd("your_secret_password")
c.NotebookApp.password = password

另请参阅文档中的here:https:

【讨论】:

    【解决方案3】:
    1. 生成配置文件:jupyter notebook --generate-config

    2. 生成密码:jupyter notebook password和(输入密码2次)。这应该会生成一个 jupyter_notebook_config.json 文件或在当前配置路径中更改它。

    3. jupyter_notebook_config.py 文件的搜索路径。 (通常在 path/.jupyter 中):

      • jupyter --path
    4. 在配置文件中取消注释并添加json配置文件:jupyter_notebook_config.py

      • c.JupyterApp.config_file_name = 'jupyter_notebook_config.json'

    【讨论】:

    • 我认为这会有所帮助,但是生成密码的第二步给我一个“没有这样的文件或目录”/password.
    • 您好!有趣的 。你用的是什么版本的笔记本?密码应该是保留关键字。您的命令正在尝试提供一个名为 password 的文件。
    【解决方案4】:

    尝试清除浏览器的 Cookie 和缓存
    关闭 Jupyter 页面,找到“localhost:****”对应的 cookie 并清理。

    我在使用 Jupyter 密码登录时遇到了同样的问题:
    如果我输入正确的密码,登录页面会刷新并保持不变(空白);但是如果我输入了错误的密码,就会提示密码错误。

    后来我发现清除旧cookie解决了这个问题。

    【讨论】:

      【解决方案5】:

      我遇到了同样的问题。尝试在与jupyter_notebook_config.py 相同的目录中运行笔记本服务器。这解决了我的问题。

      【讨论】:

        【解决方案6】:

        如果您使用的是单用户版Jupyter,则无需启用登录;

        如果您使用的是多用户版本,即 JupyterHub(最简单的一种),我建议您应该使用 LDAP 类型的身份验证模块,您可以参考这篇文章了解如何使用 LDAP 身份验证:ldapauthenticator

        最后,您可能还需要启用 Kerberos 授权,您可以参考这篇文章:Kerberos

        【讨论】:

          【解决方案7】:

          不是您正在寻找的答案,但对于排除其他问题很有用。

          $ jupyter notebook --port 5000 --no-browser --ip='*' --NotebookApp.token='' --NotebookApp.password=''

          这将给出以下警告。了解风险。

          [W 09:04:50.273 NotebookApp] 警告:笔记本服务器正在侦听所有 IP 地址并且未使用加密。不建议这样做。

          [W 09:04:50.274 NotebookApp] 警告:笔记本服务器正在侦听所有 IP 地址并且未使用身份验证。这是非常不安全的,不推荐。

          【讨论】:

            【解决方案8】:

            我知道这是一个较旧的线程,但在 DigitalOcean 上设置笔记本服务器时发布了最近对我有用的内容。

            1. 运行jupyter notebook --generate-config,它将在~/.jupyter 中生成jupyter_notebook_config.py 文件
            2. 在 iPython shell - ipython 中,运行以下代码,生成密码哈希和盐
            from notebook.auth import passwd
            passwd('your password goes here')
            

            接下来,在jupyter_notebook_config.py 中,将哈希值添加到c.NotebookApp.password = ''。另外,将c.NotebookApp.password_required 更改为True

            远程访问笔记本时 - <server_ip>:8888,您现在可以使用密码登录。

            【讨论】:

              【解决方案9】:

              我已注释掉 jupyter_notebook_config.py 中的密码行

              {
                "NotebookApp": {
                  "nbserver_extensions": {
                    "jupyter_nbextensions_configurator": true
                  },
                  /* "password": "sha1:11a35c353b76:23365664049ac6918bc149b6044b990d7d23b080" */
                }
              }
              

              【讨论】:

                【解决方案10】:

                虽然这个问题已经很老了,但我仍然会为下一个面临同样问题的人分享我对这个问题的解决方案。 似乎 jupyter notebook 在使用密码时将端口从 8888 切换到 8889。 一旦我导航到 http://localhost:8889 我的密码就被接受了。

                【讨论】:

                  猜你喜欢
                  • 2018-04-19
                  • 1970-01-01
                  • 1970-01-01
                  • 2016-07-18
                  • 1970-01-01
                  • 2022-08-21
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多