本地计算机通过内网穿透提供远程连接jupyter

前言:这次的需求主要是,实验室的一台主机的显卡比较不错,适合用来跑机器学习,然后个人又不能总是待在实验室,所以想要随时随地通过笔记本连接上实验室计算机上的jupyter进行实验。因此就有了下面的,将实验室计算机进行内网穿透,提供jupyter远程连接服务!

本地计算机通过内网穿透提供远程连接jupyter

  • jupyter_notebook_config
    • jupyter_notebook_config生成
    • 配置jupyter的登录密码
    • jupyter_notebook_config配置
  • 配置路由器实现内网穿透

jupyter_notebook_config

jupyter_notebook_config生成

在对jupyter进行相关配置的时候,需要先生成jupyter的配置文件。
打开acanda的窗口,输入:

jupyter notebook --generate-config

第一次输入之后,他会问你是否生成默认config文件,输入y即可。
本地计算机通过内网穿透提供远程连接jupyter_第1张图片此时,命令行会提示你已经写入默认的config,并且告诉了你该文件的位置,赶紧前往该位置找到这个文件并打开它。

配置jupyter的登录密码

直接打开终端,然后输入命令:

jupyter notebook password

输入该命令后,会让你输入两次密码,前后一致即可设置成功。
密码设置成功后,我们还需要生成一个hash密码,启用这个密码后,远程连接时只需要第一次输入密码即可。
在终端输入命令:

ipython

此时,我们会进入IPython的交互shell,然后依次输入下面命令:

In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: '*****************************'

这里面需要输入两次的密码,就是你刚才设定的密码。密码输入正确后会自动深沉一个hash密码,复制好这个密码。

jupyter_notebook_config配置

此时,我们打开了jupyter_notebook_config.py这个文件会发现,这个配置文件都是被注释掉的内容,我们需要更改一下几个配置信息:
!!!注意,这里说的更改,其实是取消掉原本文件中的“#”注释,然后对相应的变量进行赋值
!!!特别注意,每一个删除掉注释的代码前不能有空格,否则会导致你的配置不能够生效!!!(这是大坑)
这里配置我们刚才复制的hash密码:

c.NotebookApp.password = u'argon2:$argon2id$v=19$m=10240,t=10,p=8$FUvklqA/ByDxOstqrHjgjw$M71Z6jbO0qPDntdHUVcSkg'

这里更改一下jupyter默认打开的工作路径:(注意:路径里面的是双\)

c.NotebookApp.notebook_dir = 'F:\\codes\\jupyter_pys'

设置可以进行远程连接:

c.NotebookApp.allow_remote_access = True

设置当前主机所有ip都可以访问:(他这里默认是localhost,也就是说即使是内网ip也不能访问到它,因此必须更该)

c.NotebookApp.ip = '*'

设置jupyter每次启动时的默认端口:(如果不进行设置,默认是8888累加启动)

c.NotebookApp.port = 9999

以上,config文件基本配置完成,保存好即可。

配置路由器实现内网穿透

这里路由器的原理以及外网和内网的对应关系就不过多解释了。
我们这里的路由器是TP-LINK,访问网址登陆后台。
进入后台页面后,进入基本设置,查看该路由器的公网IP
本地计算机通过内网穿透提供远程连接jupyter_第2张图片
然后进入高级功能中的虚拟服务器功能页:
本地计算机通过内网穿透提供远程连接jupyter_第3张图片
本地计算机通过内网穿透提供远程连接jupyter_第4张图片
进入后,选择新增,外部端口和内部端口可以设置成一样的,防止弄混。内部端口就是你刚才设置的jupyter打开的端口。然后内部服务器IP,可以通过打开计算机终端,输入ipconfig命令,查看你的ipv4地址(一般是192开头那个)

以上,均配置完成后,随便拿一台电脑,访问你路由器的公网ip,加上你刚才设置好的端口,即可访问你本地计算机上的jupyter了!从此,你走到哪里都可以使用你实验室的环境了!

参考文章:https://zhuanlan.zhihu.com/p/64524822

你可能感兴趣的:(杂记,python,机器学习,深度学习)