[远程使用Jupyter]本地使用服务器端运行的Jupyter Notebook

20180414更新:

 发现这东西完全可以像一个类似于windows下登录远程服务器的类似Xshell, Xftp一样的东西。

传文件、拷文件,terminal,妥了!!

爱上Jupyter 了!!!

官方链接:https://jupyter-notebook.readthedocs.io/en/latest/public_server.html#notebook-server-security

===================================================================

主要参考 Monkey's Blog, 首先感谢原作者。

主要思路:

  • 安装Jupyter notebook
  • 配置文件
  • 设置密码
  • 生成ssl证书
  • 给配置文件添加ssl密钥和自己的设置的登录密码
  • 后台运行挂起
  • Enjoy Jupyter-lab.

 

1. 服务器端安装Anaconda, 安装好jupyter notebook 等等

2.  生成配置文件

jupyter notebook --generate-config

3. 配置密码

打开python,输入

from notebook.auth import passwd
passwd()

输入你设置的自己的密码,然后他生成一个密码序列,复制下来。

4. 生成ssl证书,最后是用https登录的:

openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mykey.key -out mycert.pem

5.修改jupyter配置文件,

打开第2步生成的配置文件,一般在:

~/.jupyter

打开配置文件

vim ~/.jupyter/jupyter_notebook_config.py

添加进入几行:

c.NotebookApp.password = u'sha1:XXXXXXXXXXXXXXXXXXXXXXXXXXXX'

刚刚3生成的密码序列。

c.NotebookApp.certfile = u'/absolute/path/to/your/certificate/mycert.pem'
c.NotebookApp.keyfile = u'/absolute/path/to/your/certificate/mykey.key'
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
#9999是自己设置的,你也可以设成别的
c.NotebookApp.port = 9999
/absolute/path/to/your/certificate是指你存放mycert.pem和mykey.key的路径,执行第4步生成ssl的 当前路径,用pwd可以看

6. 在服务器上用 nohup 后台挂起运行jupyter

nohup jupyter notebook &
# 如果你装jupyter-lab的就打开jupyter-lab也行

7. 现在你可以在任何浏览器上输入:

https://XXX.XX.XXX:abcd
(假设你的服务器IP是XXX.XX.XXX,你前面第5步设置的port是abcd)

输入你前面自己设置的密码就可以访问服务器上jupyter了。

 

再次感谢原作者(http://qiuqingyu.cn/2017/05/15/在服务器端升级python并安装Jupyter/)。

官方链接:https://jupyter-notebook.readthedocs.io/en/latest/public_server.html#notebook-server-security

### 如何从远程连接到服务器上的 Jupyter Notebook 为了能够从远程位置访问托管在服务器上的 Jupyter Notebook,需遵循一系列配置步骤来确保安全性和功能性。 #### 配置 Jupyter Notebook 进行远程访问 如果尚未拥有 Jupyter 文件夹或该文件夹内不存在笔记本配置文件,则应通过执行命令 `$ jupyter notebook --generate-config` 来创建默认配置文件[^2]。这一步骤对于初始化必要的设置至关重要。 #### 设置 SSH 隧道以保障安全性 建立 SSH 隧道是实现安全远程访问的有效方法之一。具体操作如下: ```bash ssh -L 8000:localhost:8888 user@your.server.com ``` 上述命令将在本地端口 `8000` 上监听并转发至服务器的 `8888` 端口,其中 `user` 是登录名而 `your.server.com` 则代表目标服务器地址。 #### 启动带有特定参数的 Jupyter Notebook 实例 启动 Jupyter Notebook 的时候可以指定一些选项以便更好地支持远程访问需求: ```bash jupyter notebook --no-browser --port=8888 ``` 这里设置了不自动打开浏览器窗口 (`--no-browser`) 并指定了服务运行使用的端口号(`--port=8888`)。此端口应当与之前设定SSH隧道时的目标端口相匹配[^1]。 完成以上步骤之后,在个人计算机上可以通过浏览器输入 `http://localhost:8000/` 访问位于远端服务器中的 Jupyter Notebook 应用程序界面。 #### 关于课程学习的经验分享 有同学提到参加在线课程期间学会了如何连接到远程集群以及怎样配置 Jupyter Notebook 使其能够在集群环境中被利用[^3]。这种实践经验有助于理解实际应用场景下的部署过程和技术细节。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值