专栏首页liuchengxu设置 jupyter notebook 可远程访问

设置 jupyter notebook 可远程访问

首先是要 安装 Anaconda

默认情况下,安装好 Anaconda 后打开 jupyter notebook, 访问本地 localhost:8888 即可。但是如果要访问另一台机器,比如远端服务器上的 notebook, 即默认是不支持 172.104.105.119:8888 这样的访问,需要额外配置。

设置 jupyter notebook 可远程访问的官方指南在这里,在远端服务器上执行以下操作:

1. 生成一个 notebook 配置文件

默认情况下,配置文件 ~/.jupyter/jupyter_notebook_config.py 并不存在,需要自行创建。使用下列命令生成配置文件:

jupyter notebook --generate-config

如果是 root 用户执行上面的命令,会发生一个问题:

Running as root it not recommended. Use --allow-root to bypass.

提示信息很明显,root 用户执行时需要加上 --allow-root 选项。

jupyter notebook --generate-config --allow-config

执行成功后,会出现下面的信息:

Writing default config to: /root/.jupyter/jupyter_notebook_config.py

2. 生成密码

自动生成

从 jupyter notebook 5.0 版本开始,提供了一个命令来设置密码:jupyter notebook password,生成的密码存储在 jupyter_notebook_config.json

$ jupyter notebook password
Enter password:  ****
Verify password: ****
[NotebookPasswordApp] Wrote hashed password to /Users/you/.jupyter/jupyter_notebook_config.json

手动生成

除了使用提供的命令,也可以通过手动安装,我是使用的手动安装,因为jupyter notebook password 出来一堆内容,没耐心看。打开 ipython 执行下面内容:

In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'

sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed 这一串就是要在 jupyter_notebook_config.py 添加的密码。

c.NotebookApp.password = u'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'

3. 修改配置文件

jupyter_notebook_config.py 中找到下面的行,取消注释并修改。

c.NotebookApp.ip='*'
c.NotebookApp.password = u'sha:ce...刚才复制的那个密文'
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888 #可自行指定一个端口, 访问时使用该端口

以上设置完以后就可以在服务器上启动 jupyter notebook,jupyter notebook, root 用户使用 jupyter notebook --allow-root。打开 IP:指定的端口, 输入密码就可以访问了。

需要注意的是不能在隐藏目录 (以 . 开头的目录)下启动 jupyter notebook, 否则无法正常访问文件。

image.png

参考:

[1] http://jupyter-notebook.readthedocs.io/en/latest/public_server.html#notebook-server-security

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 用 Python 写一个 NoSQL 数据库

    本文译自 What is a NoSQL Database? Learn By Writing One In Python.

    用户1558438
  • 用 Parity 发送 ERC20 Token

    Parity 是以太坊的 Rust 实现,它也内置了一个钱包。用过 Parity 的人都知道,用它发送 ETH 非常简单,点几下就行。但是可能不少人还不知道如何...

    用户1558438
  • Vim 插件管理器概览

    一个 Vim 插件不过是 Vim 启动时自动加载的 Vim script 脚本而已. Vim 启动时会自动加载 runtimepath 中的 plugin 子目...

    用户1558438
  • 配置 jupyter notebook远程访问

    默认情况下,安装好 Jupyter之后,可以用 localhost:8888 即可。但是如果要需要远程访问,默认是不支持101.101.101.101:8888...

    行 者
  • 配置 jupyter notebook远程访问

    默认情况下,安装好 Jupyter之后,可以用 localhost:8888 即可。但是如果要需要远程访问,默认是不支持101.101.101.101:8888...

    行 者
  • Python开发环境—— jupyter Notebook 安装使用

    这篇说一下 Linux 下配置一个 Python 的 jupyter Notebook并可以外网访问进行开发的方法,这样就可以随时轻松的使用 jupyter N...

    李郑
  • 如何远程访问服务器的 Jupyter notebook

    当我们拥有一台服务器的时候,通常服务器都可能包含比本地电脑比较好的配置,特别是如果做深度学习的,服务器通常意味着有好的 GPU;然后,Jupyter noteb...

    材ccc
  • jupyter notebook修改默认路径和浏览器

    hankleo
  • cat命令特殊用法

    上图中,A和B之间有一个Tab符号,C之前有一个Tab符号,之后空3行,再之后是字符D,且这个字符后有一个空格。

    wangyuntao
  • leetcode链表之合并两个排序的链表

    合并两个有序链表的基本思路就是设置一个cursor以及新链表的头指针,然后同时遍历两个链表,取小的节点作为cursor的next,然后该链表往前进,cursor...

    codecraft

扫码关注云+社区

领取腾讯云代金券