本地连接服务器并运行jupyter

我用的是mobaxterm

先打开本地窗口,输入:

bash 复制代码
ssh -J 你的用户名@gate1的IP(跳板机) 你的用户名@服务器地址 -L 8888:localhost:8888
  • L即,local,格式是 -L 你本地电脑的监听端口 : 从远程服务器的视角看,目标的IP : 目标的端口

  • 本地监听端口 是在浏览器中打开jupyter时需要输入的,类似一个门牌号,意思是谁打开这扇门,就将谁的数据送进隧道,

中间这个目标服务器IP输入的是 localhost,这是基于目标服务器的视角来看,数据从隧道传过来后,将他转交给谁?转交给jupyter,而jupyter就在目标服务器本身,因此对于目标服务器来说,接收方就是自己-即localhost-或者127.0.0.1

右边的目标端口是在服务器页面输入jupyter时指定的port。即最开始在jupyter中建立的房间,然后隧道出口精准对准这个房间,将数据递给里面的jupyter。

总体是:现在目标服务器中建立jupyter的8888房间,然后我从本地连接到跳板机,通过-J 跳到目标服务器上,我在本地建立入口8888,将数据传到隧道通向目标服务器,然后目标服务器靶向jupyter的8888端口,将数据传输给jupyter(localhost)。

然后就连接到服务器了

可以改为:ssh -J 你的用户名@跳板机 你的用户名@目标服务器 - L 8888:localhost:9999,,即你在本地依然敲自己熟悉的 8888 门,但隧道会自动拐弯,帮你把数据送到服务器上 Jupyter 新搬去的 9999 房间。浏览器里依然输入 http://localhost:8888,丝毫不受影响!,但在输入jupyter notebook的时候需要指定--port 9999。

再在服务器中开一个screen窗口

bash 复制代码
screen -ls
screen -S scprint

在该窗口中激活能跑jupyter的conda环境后,执行

bash 复制代码
jupyter notebook --no-browser --port=8888

然后在本地浏览器中打开网址,Home Page - Select or create a notebookhttp://localhost:8888/tree?

然后在该页面,即scprint的screen中输出 ctrl+A+D,即退出screen窗口,回到原始服务器中,然后这个screen窗口就一直在后台运行中,下次打开只需要:

在本地中连接到服务器:

bash 复制代码
ssh -J 你的用户名@gate1的IP(跳板机) 你的用户名@服务器地址 -L 8888:localhost:8888

然后直接打开本地浏览器输入:http://localhost:8888,昨天没跑完的代码、没画完的图,全都在!

如果想查看jupyter的状态,可以Attach到昨天打开的screen窗口:

bash 复制代码
screen -r scprint

(ง •_•)ง

相关推荐
江畔柳前堤5 小时前
HBM:大语言模型时代的「算力血液」——从内存墙到带宽革命的深度拆解
服务器·人工智能·windows·目标检测·语言模型·自然语言处理·软件工程
独隅6 小时前
GitHub Actions 自动化运维实战:CI/CD 流水线一体化效果展示
运维·自动化·github
fthux6 小时前
装闭 RenoPit 源码解析(05):FastAPI与Celery如何执行AI装修分析
人工智能·ai·开源·github·open source·renopit
不会就选b6 小时前
Linux之信号(二)
linux·运维·服务器
GlueNa2SiO37 小时前
第十八章 Linux故障排查与恢复
linux·服务器·笔记·学习
寺中人8 小时前
Linux 基础命令入门实战教程:从零掌握常用操作,新手快速上手
linux·运维·服务器·shell·linux 命令·linux 基础教程·linux 入门
小张成长计划..9 小时前
【Linux】18:基础IO
linux·运维·服务器
扬帆破浪10 小时前
文档自动检查:用 Claude Code、OpenClaw 审 WPS 文件:预览、批注、改正文
运维·服务器·wps
YuePeng11 小时前
一个注解起家,25 个模块收尾:Erupt 的生态版图长这样
后端·github
zt1985q11 小时前
本地部署开源网络书签与内容管理工具 Karakeep 并实现外部访问
运维·服务器·网络·数据库·网络协议·开源