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

20180414更新:html

发现这东西彻底能够像一个相似于windows下登陆远程服务器的相似Xshell, Xftp同样的东西。node

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

爱上Jupyter 了!!!shell

===================================================================windows

主要参考 Monkey's Blog, 首先感谢原做者。浏览器

主要思路:安全

安装Jupyter notebook

配置文件

设置密码

生成ssl证书

给配置文件添加ssl密钥和本身的设置的登陆密码

后台运行挂起

Enjoy Jupyter-lab.

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

2.  生成配置文件code

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了。

关于这个https访问的安全性问题,还须要高手进一步指导怎么提升安全性问题,欢迎留言讨论。

### 配置方法 为了实现通过本地浏览器访问远程服务器上的 Jupyter Notebook,可以按照以下方式完成配置: #### 1. 创建 Jupyter Notebook 配置文件 在远程服务器上生成 Jupyter Notebook 的配置文件 `jupyter_notebook_config.py`。执行命令如下: ```bash jupyter notebook --generate-config ``` 此命令会在用户的 `.jupyter/` 文件夹下创建默认的配置文件[^3]。 #### 2. 修改配置文件 编辑生成的 `jupyter_notebook_config.py` 文件,添加或修改以下参数以允许外部访问: ```python c.NotebookApp.ip = '0.0.0.0' c.NotebookApp.port = 8888 c.NotebookApp.open_browser = False c.NotebookApp.allow_root = True c.NotebookApp.password = '' ``` 其中,`ip='0.0.0.0'` 表示监听所有网络接口;`port=8888` 设置为指定端口号(可根据实际情况调整);`open_browser=False` 禁止自动打开浏览器;`allow_root=True` 允许以 root 用户身份运行;`password=''` 可用于设置密码保护(建议启用)。如果需要更安全的方式,则可以通过哈希加密形式存储密码[^5]。 #### 3. 启动 Jupyter Notebook 服务 在远程服务器终端输入以下命令来启动 Jupyter Notebook: ```bash jupyter notebook --allow-root --ip=0.0.0.0 --port=8888 ``` 这一步会绑定 IP 地址和端口,并开启服务供客户端连接。 #### 4. 使用 SSH 端口转发 为了让本地计算机能够安全地访问远程服务器上的资源,推荐采用 SSH 端口映射技术。具体操作是在本地机器上运行下面这条指令: ```bash ssh -N -f -L localhost:8000:localhost:8888 username@server_ip ``` 这里 `-L` 参数指定了本地地址与目标地址之间的映射关系,即把本机的 8000 端口重定向至远端主机的 8888 端口;而 `username` 和 `server_ip` 则分别代表你在该服务器中的登录名及其公网 IP 地址[^4]。 #### 5. 打开本地浏览器 最后,在自己的个人设备上打开任意一款支持 HTML5 的现代网页浏览器,键入 URL 路径 http://127.0.0.1:8000 即可加载来自云端实例的服务界面。 以上步骤完成后即可成功利用家庭或者办公室内的普通 PC 访问部署于数据中心内部的强大计算平台之上所托管的数据科学工具集——Jupyter Notebook 实例[^1]。 ### 注意事项 - 如果遇到防火墙阻止的情况,请联系管理员开放对应端口。 - 建议始终使用强密码保护您的笔记本应用以防未授权访问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值