远程访问 WSL2 Jupyter notebook

Posted

技术标签:

【中文标题】远程访问 WSL2 Jupyter notebook【英文标题】:Access WSL2 Jupyter notebook remotely 【发布时间】:2021-08-17 17:08:55 【问题描述】:

所以我试图从远程电脑连接到我的 jupyter 笔记本,因为我自己的电脑没有全局 IP,我必须先连接到本地网络(服务器 1)中的另一台电脑,然后 ssh 到我自己的电脑上运行了 jupyter(服务器 2),所以它是这样的:

我的笔记本电脑 -> 服务器 1 -> 服务器 2

当两台服务器都是这样的 Linux 时,我曾经这样做过:

在我的笔记本电脑上: ssh -NL 2323:localhost:2323 server1_username@golbalIp

在服务器 1 上: ssh -NL localhost:2323:localhost:8888 server2_username@localip

在服务器 2 上: python3 -m jupyterlab --NotebookApp.token='' --NotebookApp.password='' --port 8888

但是现在我的服务器 2 是一台 windows pc,我的 jupyter 在 wls2 上,所以我想既然在 windows 的 localhost:8888 上运行 wsl2 的 jupyter,那么做同样的事情就可以了,但它没有,我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

一点也不明显,但解决方案是 Windows 10 不喜欢端口 8888,需要您使用 8889 才能让端口转发在 WSL2 上工作。我花了很长时间才解决这个问题。在原生 linux 下,端口完全没有问题,除非远程主机有特定的自定义防火墙规则。

所以你必须使用:

 ssh -NL 8889:localhost:8888 remote-server-alias

其中 remote-server-alias 是您在 .ssh/config 中使用 JumpProxy 定义的内容,并且您还必须在 Debian on Windows (WSL2) 安装上运行 apache2 服务器(例如)。首先在浏览器中查看localhost,确保apache服务器运行正常。

在开始之前,您必须执行以下操作:

ssh remote-server-alias
nohup jupyter notebook --no-browser --port 8888 &

令牌将为您存储在 nohup.out 中。

【讨论】:

以上是关于远程访问 WSL2 Jupyter notebook的主要内容,如果未能解决你的问题,请参考以下文章

WSL2 jupyter notebook 在windows主机打开

Linux下配置jupyter notebook远程访问实战:配置Jupyter的连接密码启动jupyter服务远程访问jupyter(关闭防火墙)

Jupyter Notebook 无法在 Ubuntu WSL2 中打开

Debain install Jupyter

设置 jupyter notebook 可远程访问

jupyter远程访问/代码提示