利用内网穿透搭建Jupyter lab远程服务器

主要流程

  1. 首先通过 conda 安装完成基础的环境配置, 包括python, jupyter, etc…

  2. 配置jupyter的密码,作为简单的安全保护

# 输入如下命令,根据命令提示进行操作
$ jupyter notebook password
Enter password:  ****
Verify password: ****
[NotebookPasswordApp] Wrote hashed password to /Users/you/.jupyter/jupyter_notebook_config.json

新版,应该使用如下代码设置密码:

$ jupyter lab password
  1. 在terminal中启动Jupyter服务器,默认会打开 8888端口
#设置jupyter lab 从任意地方登录 (0.0.0.0 表示从任意地方)
$ jupyter lab —ip =0.0.0.0
#默认打开8888端口
  1. 内网穿透,将8888端口转发至公网; 使用工具localtunnel
# lt是内网穿透工具localtunnel的命令,具体配置参见localtunnel 网站教程
$ lt —subdomain yywxxr —port 8888
# 终端会显示出一个网站链接,这时外网的浏览器打开这个链接,
# 就可以任意地方远程操作本地的Jupyter lab

其他tips

  1. 让程序后台运行,不会被打断:
# 在运行localtunnel时候,搭配使用nohup 和 & ,可实现后台永久运行。
$ nohup lt —subdomain yywxxr —port 8888 &
  1. 内网穿透工具列举,使用较为简单方便,具体使用规则可以前往官网。其中ngrok 和coplar需要下载客户端使用,因此更加稳定,不会掉线,为了稳妥起见,可以同时开两个内网穿透工具。具体如下:

    ngrok

  • 直接使用,类似于使用localtunnel。 经过实测,ngrok的http转发很卡:
# 可以直接转发jupyter的网页端口,功能和localtunnel的类似。
#ngrok 可以添加-auth验证保护,此处要求远程登录用户需要输入
#用户名:abcd, 密码:1111, 才能进入网页访问jupyter
# region: us; eu; ap: asia pqcific singapore; au: australia
$ ./ngrok http -auth='abcd:1111' -region=eu 8888
  • 采用tcp转发模式,这样可以远程ssh登录服务器,再进行后续的操作:
# 将本地ssh的22端口进行转发,注意:ssh默认端口为22,为了安全,此处可以更改ssh端口
# 方法参见[vps安全防护](https://zhuanlan.zhihu.com/p/26282070)
$ ./ngrok tcp -region=eu 22

coplar
这个和ngrok是一模一样的软件,操作命令几乎一样。

localtunnel
https://localhost.run
serveo.md

  1. 因为此时本机的ip地址被暴露在了公网中,所以需要对计算机的防火墙做一定配置,常见的工具有 ufw,还有ssh端口修改,具体参见:
    ufw配置
    vps安全防护
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页