远程访问服务器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'

把 out[2] 的内容复制下来备用。

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那里的输入)后就可以跟本地一样正常使用啦。

相关推荐
try2find3 分钟前
移动conda虚拟环境的安装目录
linux·运维·conda
码农101号26 分钟前
Linux中容器文件操作和数据卷使用以及目录挂载
linux·运维·服务器
PanZonghui44 分钟前
Centos项目部署之Nginx 的安装与卸载
linux·nginx
PanZonghui1 小时前
Centos项目部署之安装数据库MySQL8
linux·后端·mysql
PanZonghui1 小时前
Centos项目部署之运行SpringBoot打包后的jar文件
linux·spring boot
PanZonghui1 小时前
Centos项目部署之Java安装与配置
java·linux
程序员弘羽1 小时前
Linux进程管理:从基础到实战
linux·运维·服务器
PanZonghui1 小时前
Centos项目部署之常用操作命令
linux
JeffersonZU1 小时前
Linux/Unix进程概念及基本操作(PID、内存布局、虚拟内存、环境变量、fork、exit、wait、exec、system)
linux·c语言·unix·gnu
大熊程序猿1 小时前
netcore PowerShell 安装-linux
linux·运维