远程访问服务器Jupyter Notebook

利用jupyter notebook自带的远程访问功能

1.生成默认配置文件

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

复制代码
jupyter notebook --generate-config

2.生成密码sha1值

开启远程访问的话意味着你的 Jupyter Notebook 服务会暴露在公网中,所以为了安全我们需要设置一下页面密码。

在 Jupyter 的配置文件中要填写的并不是密码的明文,而是想要设置密码的sha1值。在这里我们使用 ipython 的 passwd 库来生成密码的 sha1 值。

输入 ipython ,进入 ipython 的交互界面,然后依次输入及其输出如下,按输出说明填写密码:

复制代码
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:xxxx # 这个是自己输入的密码,后面要用这个登录
Verify password:xxxx
Out[2]: 'sha1:xxxxxxxxxxxxxxxxx'

把 out2 的内容复制下来备用。

3.修改配置文件

复制代码
vim ~/.jupyter/jupyter_notebook_config.py

vim 后面换成你自己的配置文件路径。

将如下几项内容去除注释后修改值如下并保存:

复制代码
# 服务ip地址,0.0.0.0代表绑定到本机所有的ip上
c.NotebookApp.ip='0.0.0.0'

# 密码设置,前面的u是表示对单引号内的内容不转义
c.NotebookApp.password = u'sha:ce...刚才复制的那个out[2]的内容'

# 启动时是否打开本地浏览器,我们远程访问的话自然不需要
c.NotebookApp.open_browser = False

# 工作端口
c.NotebookApp.port =8888 #随便指定一个端口

启动服务

在想要工作的目录下输入 jupyter notebook 即可启动服务,但这样的前台服务在 ssh 断开后也会中断。若是想要保持其运行状态的话,可以用 screen 命令将其挂在后台运行。当然,也推荐使用 tmux 管理包

复制代码
tmux new -s jupyterlj
jupyter notebook

按ctrl+b+d退出窗口,挂靠后台,这样即使 ssh 连接断开了也不会导致服务中断。

复制代码
# 新建一个 screen 窗口,若报错则可能需先安装 screen
screen -S jupyter

# 启动 jupyter notebook 服务
jupyter notebook

按下键盘上的 ctrl+a+d 键即可将当前 screen 窗口挂到后台,这样即使 ssh 连接断开了也不会导致服务中断。

在服务启动后用浏览器访问 http://你的服务ip地址:你的端口 即可打开 Jupyter Notebook 的密码页面,输入前面设置的密码(即Enter password那里的输入)后就可以跟本地一样正常使用啦。

相关推荐
做运维的阿瑞1 小时前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python
百万蹄蹄向前冲1 小时前
密码都对Node.js却连不上Linux数据库
linux·mysql
彧azz1 小时前
Linux 网络编程学习总结
linux·网络·笔记·学习·面试
浅念-2 小时前
Redis基础详解:单线程模型、String与Hash数据结构
服务器·数据库·redis·sql·mysql·nosql数据库·nosql
susplus2 小时前
【ARM 裸机开发 (IMX6ULL-mini)】GNU工具、Makefile 工程构建、链接脚本详解|C 语言点灯 + 蜂鸣器驱动
linux·arm·makefile·imx6ull
Shadow(⊙o⊙)2 小时前
Linux进阶知识1.0
linux·运维·服务器
>Andre<3 小时前
UFS5.0标准中文全译·卷一:范围、术语与架构
android·linux·嵌入式硬件
用户0510122572963 小时前
Linux下有关QT显示环境变量设置
linux·嵌入式
闲云自留地3 小时前
告别命令恐惧症,openEuler 基础操作 + 文本 + 网络管理实战
linux·运维·云计算
剑指offer.3 小时前
ARM裸机开发-点亮LED灯
linux·服务器·嵌入式硬件