远程访问Jupyter Notebook的两种方式:命令行和配置文件

相关配置:Ubuntu 16.04服务器,本地Win10,使用了Xshell,Xftp工具。

相关配置主要分为三步:

  • 服务器上的Jupyter配置
  • 本地Xshell的配置
  • 使用Jupyter Notebook

其中服务上的配置方法有两种:

  • 使用命令行,操作简单,登录稍繁
  • 使用配置文件,操作略繁,登陆简单

命令行配置服务器

  • 首先要确保服务器上安装了Jupyter,如果未安装,安装命令如下:
pip install jupyter
  • 命令行配置

    • 激活环境:conda activate 环境名
    • 运行Jupyter:jupyter notebook --no-browser --port=目标端口
    • 复制token
    • 直接转到文末的本地Xshell配置
    • 注意:端口号应大于1024,并避开已经启用的端口号,本文采用8000

使用配置文件

生成配置文件

输入以下命令可以生成Jupyter的配置文件

jupyter notebook --generate-config

配置文件路径默认在/root/.jupyter/jupyter_notebook_config.py

生成密钥

启动ipython命令行:

$ ipython

输入密码,生成密钥:

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

编辑配置文件

可以输入命令直接进行编辑:

vim ~/.jupyter/jupyter_notebook_config.py

可以通过Xftp下载配置文件,路径如上,在本地编辑后上传,更方便

具体更改内容如下:

c.NotebookApp.allow_remote_access = True
c.NotebookApp.allow_root = True ## 表示是否允许jupyter使用root权限
c.NotebookApp.ip = '*' ## 表示允许任意IP访问
c.NotebookApp.port = 8000 ## 可以指定任意端口,注意避开已用端口和公认端口
c.NotebookApp.open_browser = False
c.NotebookApp.password = u'sha1:00000000....' ## 刚刚设置密码时生成的密钥

注意:配置文件都是注释的,应删除修改行的注释符#

端口号应大于1024,并避开已经启用的端口号

本地Xshell配置

本地机是Window,需要通过Xshell工具来访问。

  • 首先连接上你的服务器
  • 在Xshell中,反键会话,进入属性
  • 点击连接->SSH->隧道,点击添加



注意

  • 当类型选择"Local(Outgoing)"的时候,'源主机’表示使用的本地ip地址,可以是localhost也可以是本地内网ip或者公网ip,侦听端口填写本地的一个端口
  • “目标主机”表示服务器端的ip地址,可以是服务器本地的地址localhost或者是服务器可以访问到的一个ip地址,目标端口填写之前配置的端口,本文是8000

使用Jupyter

  • 服务器启动Jupyter Notebook,命令为: $ jupyter notebook
  • 本地浏览器输入http://localhost:8888/,即源主机:侦听端口
  • 输入之前设置好的密码,即可

远程访问Jupyter Notebook的两种方式:命令行和配置文件的更多相关文章

  1. SpringBoot配置Bean的两种方式--注解以及配置文件

    一.注解方式 编写实体类: package com.example.bean; import org.springframework.boot.context.properties.Configura ...

  2. 用Ubuntu的命令行来远程访问Jupyter Notebook

    远程访问Jupyter Notebook 相关配置:Ubuntu 16.04服务器,本地Win10,使用了Xshell,Xftp工具. 相关配置主要分为三步: 服务器上的Jupyter配置 本地Xsh ...

  3. cmd窗口使用sftp命令非密钥和密钥登录SFTP服务器的两种方式

    cmd窗口使用sftp命令非密钥和密钥登录SFTP服务器的两种方式 一.在Windows环境下搭建SFTP服务器可参见http://www.cnblogs.com/Kevin00/p/6341295. ...

  4. 创建安卓模拟器的两种方式及常用Android命令介绍

    创建安卓模拟器有以下两种方式: 1>通过图形界面创建,在Eclipse中单击Windows->Android Virtual Device Manager启动图形界面窗口 2>如果用 ...

  5. 通过属性 Cesium的FBO主要支持两种方式

    角色其实就是一类权限的分组,所以给用户分配角色其实也是在给用户分配权限.在oracle中有三个比较常用的角色.对于一般不是很严格的系统可以授予开发用户CONNECT.RESOURCE角色权限即可. 其 ...

  6. WCF服务使用(IIS+Http)和(Winform宿主+Tcp)两种方式进行发布

    1.写在前面 刚接触WCF不久,有很多地方知其然不知其所以然.当我在[创建服务->发布服务->使用服务]这一过程出现过许多问题.如客户端找不到服务引用:客户端只在本机环境中才能访问服务,移 ...

  7. 【Python】Python figure显示的两种方式

    1. 两种方式: 终端输出图像新窗口输出图像 2. 终端输出命令: %matplotlib inline 新窗口输出命令: %matplotlib qt5 注意此两个语句是命令行输入,若在spyder ...

  8. day05-1 执行Python程序的两种方式

    目录 执行Python程序的两种方式 第一种:交互式 第二种:命令行式 三个步骤 两种方式的区别 执行Python程序的两种方式 第一种:交互式 在cmd中运行 优点:直接给出结果,执行效率高,及时报 ...

  9. Navicate 连接阿里云MySQL(两种方式及原理讲解)

    Navicate 连接阿里云(两种方式及原理讲解) 一.直连方式(通过3306端口) 1.概述 2. 环境准备 3.操作及讲解 二.使用SSH通道 1.概述 2.环境准备 3.操作及讲解 如果对你有帮 ...

随机推荐

  1. 【模拟7.25】回家(tarjan V-DCC点双连通分量的求法及缩点 求割点)模板题

    作为一道板子题放在第二题令人身心愉悦,不到一个小时码完连对拍都没打. 关于tarjan割点的注意事项: 1.在该板子中我们求的是V-DCC,而不是缩点,V-DCC最少有两个点组成,表示出掉一个块里的任 ...

  2. k8s-nginx二进制报Illegal instruction (core dumped)

    1.环境 系统:CentOS 7.3 内核:x86 环境:虚拟机 2.问题 收到一个现场问题,k8s环境中nginx的pod都启动异常. #kubectl get pod |grep nginx ng ...

  3. Hdoop

    优势:1.低成本  2.高扩展 3.成熟的生态圈 1.安装虚拟机 vi /etc/profile

  4. 源码分析Gateway请求转发

    本期我们主要还是讲解一下Gateway,上一期我们讲解了一下Gateway中进行路由转发的关键角色,过滤器和断言是如何被加载的,上期链接: https://www.cnblogs.com/guoxia ...

  5. ffmpeg入门到实战-ffmpeg是怎么转码的?

    阅读目录 视频是怎么被播放的? ffmpeg命令的格式 ffmpeg转码输出的过程 视频是怎么被播放的? 我们知道,当下大多数播放器都是基于ffmpeg二次开发的.你有没有想过,你用播放器打开一个视频 ...

  6. JS里的异步实例化

    JS里的异步构造函数 众所周知,Js的构造函数是不能加上async/await来实现异步实例化的,一般当需要一个对象的属性是异步的结果时可以这样写: //! 一个需要指定时间后返回的异步函数 func ...

  7. Unity_DOTween

    DOTween官网 DG.Tweening.Ease枚举详解 2019.12.12补充: 问题:当前dotween动画没播放完,便再次播放有冲突的操作,如连续多次播放.正播.倒播,导致显示不正常或报错 ...

  8. windows下Docker Desktop安装管理

    检查要求 Windows 10 企业版.专业版或教育版 (必须windows10 1903版本以上)版本号 18362.1049+ 或 18363.1049+ ,次版本#大于.1049.最好是最新版( ...

  9. Kubernetes自动伸缩pod-HPA

    在运维中,虽然能预先知道负载何时会飙升,或者如果负载的变化是较长时间内逐渐发生的,手动扩容也是可以接受的,但指望靠人工干预来处理突发而不可预测的流量增长,仍然不够理想. 幸运的是,Kubernetes ...

  10. 第6章:深入理解Pod对象

    Pod是最小的部署单元,也是后面经常配置的地方,本章节带你熟悉Pod中常见资源配置及参数. 也就是YAML这部分: ... template: metadata: labels: app: web s ...