参考: https://www.howtoing.com/how-to-install-run-connect-to-jupyter-notebook-on-remote-server
在远程服务器上没有安装浏览器的情况下,通过在本地建立 SSH 隧道的方法使用服务器的 Jupyter Notebook
1. 服务器端
首先确保服务器端安装了 Jupyter Notebook,如果需要使用 conda 环境,还要安装 ipykernel 等包
进入虚拟环境,运行 Jupyter Notebook
1 | jupyter notebook |
根据输出的信息可以看到无法找到可用的浏览器
1 | [I 09:56:37.551 NotebookApp] Serving notebooks from local directory: /home/liuxiangyu |
注意:如果报错信息提示地址已经被占用,那么久需要修改一下 Jupyter Notebook 的默认地址。修改方式如下:
配置 Jupyter Notebook
1 | jupyter notebook --generate-config |
运行命令后将会在主目录下生成 .jupyter/jupyter_notebook_config.py
文件,打开文件找到 #c.NotebookApp.ip = 'localhost'
,把 #
号去掉,localhost
改成自己的 ip 地址(在上面输出信息中可以看到)
保存后关闭文件,重启 Jupyter Notebook 即可
至此,服务器端的准备已经完成了,我们需要记住服务器的地址 172.17.0.2
和端口号 8008
2. 本地
以 Windows 系统为例,下载 putty
-
打开 putty 后在服务器地址和端口处正确填写信息,然后在左侧 ssh 选项下选择 Tunnels
-
Source port 填写本地想用的端口号,以
8000
为例 -
Destination 填写 服务器地址
172.17.0.2:8888
-
其他选项不要修改,最后不要忘记点击 Add,然后连接即可
连接到服务器后进入相应的虚拟环境,运行 Jupyter Notebook,然后打开浏览器输入地址 https://localhost:8000 即可打开 notebook. 第一次进入 notebook 可能需要输入 token,按照提示输入相应的 token 即可
Done! 😎