jupyter notebook远程访问内网服务器

1.背景

之前做过frp内网穿透直连校园内服务器,但是因为各种原因效果不太好。(大概率是差一个路由器,因为服务器连校园网会间接性断网)。所以内网服务器不能连外网,只有内网ip。
我要做的就是在外网远程连接到内网服务器的jupyter
感谢师兄的指点。

2.准备

除了远程服务器和你的个人电脑之外,你还需要一台在内网可以上网的电脑(称为跳板服务器)和云服务器。
需要用到的:

1.frp内网穿透
2.jupyter notebook远程连接
3.xshell

3流程

第一步: 跳板服务器连接上服务器上的jupyter。参考文章
(如果在学校,就只需要做到这一步就好了)
可以后台运行jupyter notebook

nohup jupyter notebook &

第二步:frp内网穿透,在家也能用ssh连接校园内的电脑。
frp的教程挺多的,大家直接搜吧。(注意端口是否开启)附一个frp源码地址的中文文档。
第三步:
现在能够在外网连接跳板服务器(指能在内网上外网的电脑),跳板服务器能连接服务器jupyter。我们要做的就是在外网直接连接内网服务器。
这里用的是ssh tunnel 正向代理 端口转发(具体的我也不太懂,说错了请见谅)
在个人电脑上,先通过xshell连接跳板服务器上,然后输入

ssh -L port:服务器ip:jupyter连接port user@服务器ip

jupyter notebook远程访问内网服务器_第1张图片
就在你连接上的跳板服务器上输入以上命令。18954端口是你在个人电脑浏览器上输入的端口(不一定是18954,不过要注意云服务器的端口是否开启)。10.*.86.54是服务器(只有内网ip,没有外网ip)8888端口是jupyter打开的端口,你要是不想用这个,可以在服务器自己设置。后面的user@ip 就是你在服务器上的用户名和服务器ip。
输入密码之后,你就能连接服务器了。(要是想直接命令行操作,就可以不看下面的)
第四步
这个就和xshell有关了。putty我没试过。
原理:端口转发(说错了请见谅)。
jupyter notebook远程访问内网服务器_第2张图片
我参考了这篇使用xshell的文章之后,才发现还要做端口转发参考文章
在上面做内网连接jupyter的教程(链接
)中,并没有用到xshell,而在这一篇文章中,用到了xshell。

第五步
就可以直接在浏览器打开127.0.0.1:18964进去服务器的jupyter。当然还有输入login密码。在第一步里面设置的密码。
jupyter notebook远程访问内网服务器_第3张图片
除了注意端口是否开启,还有就是开启frpc的电脑sshd是否开启
jupyter真的超好用,爱了爱了。

扩展:内网服务器本来没有连外网的,但是通过端口转发,还是端口映射,还有反向代理什么的,可以使用网络pip install package。这个我还没尝试过。

你可能感兴趣的:(教程,python,http)