logo头像

猪老大要进步!

jupyter的远程控制

本文于 1204 天之前发表,文中内容可能已经过时。

手头有一台亚马逊的ec2微实例闲置,于是就想在这个小小的服务器上搭建一个Jupyter,让我能在任何地方进行远程访问。亲测可行!

已知:
  • jupyter notebook是基于网页打开的
  • 默认的端口是8888

想法:

用内网穿透将8888端口映射出去

结果:

失败,jupyter会拒绝我们的访问

解决方案:

  • 生成配置文件
1
jupyter notebook --generate-config
  • 生成密码

打开python,创建一个密码。这个密码就是以后我们访问的时候需要输入验证的。

1
2
3
4
5
>>> from notebook.auth import passwd
>>> passwd()
Enter password:
Verify password:
'sha1:ce...密码串'

把这里的输入密码之后生成的字符串给记下来

  • 修改配置文件

linux下可以使用vim直接修改,命令是 $vim ~/.jupyter/jupyter_notebook_config.py ;windows下,在目录C:\Users\Administer\.jupyter下找到config.py文件,用记事本打开。

把原来的内容清空后,输入以下内容:

1
2
3
4
5
c.NotebookApp.ip='127.0.0.1'
c.NotebookApp.password = u'sha1:ce...刚才复制的那个密码串'
c.NotebookApp.open_browser = False
c.NotebookApp.allow_remote_access = True
c.NotebookApp.port =8888 #指定端口
  • 终端输入jupyter notebook,启动jupyter notebook
  • 开启8888端口映射,即可远程访问!

我暂时使用的是sunny-ngrok内网穿透,可以用一个免费的隧道进行端口映射。当然你也可以选择花生壳nat123等工具。

login

参考资料:

1、简书:玩转jupyter + 远程访问

2、jupyter notebook 初步使用配置调整

支付宝打赏 微信打赏

赞赏是不耍流氓的鼓励