Ssh 远程使用Jupyter笔记本的调试端口转发

Ssh 远程使用Jupyter笔记本的调试端口转发,ssh,jupyter,jupyter-notebook,portforwarding,ssh-tunnel,Ssh,Jupyter,Jupyter Notebook,Portforwarding,Ssh Tunnel,我正在尝试在远程计算机上使用Jupyter笔记本。设置如下:我有我的家用笔记本电脑,它可以通过ssh连接到我大学网络上的特定计算机(例如,gateway.myuniv.edu)。登录到gateway.myuniv.edu后,我可以通过ssh连接到要运行Jupyter笔记本服务器的计算机(例如cluster.myuniv.edu) 工作原理:我可以在网关上运行服务器,并使用本地端口转发从笔记本电脑连接到服务器,如下所示: 在网关.myuniv.edu上:$jupyter笔记本--无浏览器--端口8

我正在尝试在远程计算机上使用Jupyter笔记本。设置如下:我有我的家用笔记本电脑,它可以通过ssh连接到我大学网络上的特定计算机(例如,
gateway.myuniv.edu
)。登录到
gateway.myuniv.edu
后,我可以通过ssh连接到要运行Jupyter笔记本服务器的计算机(例如
cluster.myuniv.edu

工作原理:我可以在网关上运行服务器,并使用本地端口转发从笔记本电脑连接到服务器,如下所示:

在网关.myuniv.edu上:
$jupyter笔记本--无浏览器--端口8888

在我的笔记本电脑上:
$ssh-v-N-l9000:localhost:8888myusername@gateway.myuniv.edu

然后在笔记本电脑的浏览器上,我打开url:
http://localhost:9000

什么不起作用:我不想在网关上运行服务器,因为我不能在那里进行繁重的计算。我试着做到以下几点:

cluster.myuniv.edu上
$jupyter笔记本--无浏览器--端口8888

在我的笔记本电脑上:
$ssh-v-N-l9000:cluster.myuniv.edu:8888myusername@gateway.myuniv.edu

然后在笔记本电脑的浏览器上,我打开url:
http://localhost:9000
。这不起作用:SSH说连接被拒绝


我不明白为什么会发生这种情况,以及如何调试这种情况,我很乐意得到任何帮助。谢谢

问题是,您正在将集群.myuniv.edu上的端口
:8888
转发到网关.myuniv.edu上的端口
:9000
,然后将网关.myuniv.edu上的端口
:8888
转发到笔记本电脑上的端口
9000

解决办法如下:

在cluster.myuniv.edu上:
$jupyter笔记本--无浏览器--端口8888

在gateway.myuniv.edu上:
$ssh-v-N-L 8888:localhost:8888myusername@cluster.myuniv.edu

在笔记本电脑上:
$ssh-v-N-L 9000:localhost:8888myusername@gateway.myuniv.edu


我还建议您使用Tmux或Screen运行Jupyter notebook(在集群上)和ssh隧道(在网关上),这样即使您关闭终端,它也会保持活动状态。这几乎可以工作:网关上的命令应该ssh到集群:
$ssh-v-N-L 8888:localhost:8888myusername@cluster.myuniv.edu
。当我这样做的时候,它就起作用了。我编辑了你的回复-谢谢!谢谢我很高兴你让它工作了。你能把问题标记为已回答吗?当然可以。最后一件事,你能解释一下为什么ssh-v-N-l9000:cluster.myuniv.edu:8888吗myusername@gateway.myuniv.edu引导我转发集群上的端口
:8888
到网关上的端口
:9000
,然后转发网关上的端口
:8888
9000
在我的笔记本电脑上?这对我来说没有意义。希望这个解释能有所帮助:所以基本上你是在集群上运行ipython notebook的
:8888
。要连接到群集,您需要通过网关连接。这意味着您正在连接:膝上型电脑->网关->群集,群集上的
:8888
,因此您可以在网关上选择一个端口,通过隧道连接到群集上的
:8888
。我们也选择
:8888
(您可以选择任何您想要的)。现在,我们最终通过隧道到达网关,并在笔记本电脑上将
:8888
转发到
:9000
这也应该可以工作:在集群上:
$jupyter笔记本电脑--无浏览器--端口8888
在网关上:
$ssh-v-N-l8001:localhost:8888
在笔记本电脑上:
$ssh-v-N-l9000:localhost:8001myusername@gateway.myuniv.edu