为什么Jupyter在虚拟VM上托管时需要一个未知密码?

时间:2016-12-19 11:39:42

标签: vagrant jupyter-notebook jupyter

我正在尝试使用python设置一个流浪盒并使用Jupyter从我的浏览器在主机上运行代码。这是一个最小的例子:

Vagrantfile

Vagrant.configure('2') do |config|
  config.vm.box      = 'ubuntu/trusty64'

  config.vm.network :forwarded_port, guest: 8888, host: 8888

  config.vm.provision "shell", inline: <<-SHELL
    apt-get install -y python-dev python-pip
    pip install jupyter
  SHELL
end

在我的Windows主机cmd中,我在与Vagrantfile

相同的目录中执行这些命令
 > vagrant up
 > vagrant ssh
~$ jupyter notebook --no-browser --ip=0.0.0.0

然后我在我的Windows主机上导航到Chrome中的localhost:8888,只是为了找到一个Jupyter登录页面,询问我从未设置过的密码。我已经尝试输入没有密码和“vagrant”,以防它被链接到VM的密码。

为什么Jupyter要我输入密码?

2 个答案:

答案 0 :(得分:3)

还有一种方法可以通过在jupyter_notebook_config.py中将NotebookApp.token设置为空字符串或者在启动服务器时完全禁用jupyter身份验证:

jupyter notebook --no-browser --ip=0.0.0.0 --NotebookApp.token=''

这本身并不安全,仅在本地环境中用于开发目的。

答案 1 :(得分:1)

comment涵盖了最近对Jupyter的更改。

如果你这样做:

jupyter notebook list

这将为您提供您需要传递的令牌:

http://localhost:8888/?token=yourToken

第一次启动笔记本时,令牌也会输出到控制台:

vagrant@vagrant-ubuntu-trusty-64:~$ jupyter notebook --no-browser --ip=0.0.0.0
Serving notebooks from local directory: /home/vagrant
0 active kernels
The Jupyter Notebook is running at: http://0.0.0.0:8888/?token=yourToken