jupyter支持跨机器远程访问

1. 远程访问场景

本地往往缺少GPU设备,为了让我们的代码能在有GPU设备的机器上运行,就需要在远程机器上启动jupyter notebook, 这意味着我们要在本地机器的浏览器上访问远程机器上的jupyter notebook。但是直接按ip访问会报如下错误:

因为jupyter notebook默认只允许本地访问,需要一些步骤来开启跨机器访问。

2. 生成配置文件

Jupyter Notebook的配置文件(jupyter_notebook_config.py)用于设置各种启动选项。如果该文件尚未生成,你可以通过以下命令来生成它(如果已经生成则跳过此步):

python 复制代码
jupyter notebook --generate-config

生成的配置文件默认位于: ~/.jupyter/jupyter_notebook_config.py

3. 设置允许任何IP

python 复制代码
vim ~/.jupyter/jupyter_notebook_config.py 
python 复制代码
# 这将允许来自任何IP地址的连接
c.NotebookApp.ip = '*':
# 这表示在启动服务器时不要自动打开浏览器。由于你是从远程机器访问,所以不需要在服务器上打开浏览器。
c.NotebookApp.open_browser = False

重新启动jupyter notebook访问,结果没能直接进入,而是提示我输入密码或者token。

看来jupyter notebook对于跨机器访问是开启了安全性校验的,需要配置密码才能访问。

4. 配置密码

通过以下命令来生成一个加密的密码,并将其存储在配置文件中:

python 复制代码
jupyter notebook password

一路按照提示输入密码,并再次输入验证你的密码,即可设置完成。

生成的加密密码将保存在~/.jupyter/jupyter_server_config.json文件,查看此文件可以看到hash加密后的密码:

将此加密密码复制到jupyter_notebook_config.py文件的c.ServerApp.password配置项中。

5. 访问notebook

再次启动jupyter notebook,就会直接提示输入密码:

输入密码后,成功进入远程机器的jupyter工作环境。

登上去的第一件事,看看GPU设备信息:

6. 后台启动jupyter

上面启动jupyter是通过远程ssh终端启动的,存在的一个问题是:当远程终端会话过期时,jupyter notebook就无法访问,因为它也随着远程终端的关闭而停止。

解决方法和linux上运行的其它程序一样,需要使用nohup在后台启动,如下:

python 复制代码
nohup jupyter notebook > jupyter.log 2>&1 &

这样就能像访问百度这些web服务一样,随时打开浏览器都能访问。

参考资料

相关推荐
databook34 分钟前
Pandas 与 Polars:语法、性能和资源占用方面的对比
python·数据分析·pandas
威哥爱编程40 分钟前
Python 智能体开发实战 10:本地跑得好好的,一并发就崩?把它做成一个能上线的服务
python·agent
威哥爱编程1 小时前
Python 智能体开发实战 09:改了提示词,到底是变好还是变坏?搭一套能打分的离线评测
python·agent
meiying88381 小时前
多快递公司快递单号批量查询接口怎么对接?Python 聚合查询实现
java·大数据·python
Hello_Pyhx1 小时前
Deep-Live-Cam 源码配置思路:环境、模型与执行后端分开排查
python
张张123y2 小时前
后端第十六课:Multi-Agent 多智能体(让多个 Agent 分工协作)
大数据·数据库·人工智能·python·deepseek·dsh·agent 框架
全栈练习生2 小时前
大规模智能体仿真
python·ai
code2cat2 小时前
【随笔】vLLM前缀缓存:相同的开头怎样少算一次
人工智能·python·缓存·vllm
陈飞EXCEL3 小时前
北京杰飞 IT 旗下妙码生花少儿Python编程上线两大学习系统
开发语言·python·学习
Anesthesia丶3 小时前
基于 Qwen3-TTS 的多语言智能配音 Web 应用(Qwen3 TTS Studio)
python·ai·qwen-tts·agci