我想在远程计算机上使用Jupyter笔记本。设置如下:我有我的家用笔记本电脑,它可以ssh到我大学网络上的特定计算机(例如,gateway.myuniv.edu
)。一旦我登录到gateway.myuniv.edu
,我可以拨打我想要运行Jupyter笔记本服务器的计算机(例如cluster.myuniv.edu
)。调试端口转发远程使用Jupyter笔记本
什么工作:我可以在网关上运行的服务器,并使用本地端口转发我的笔记本电脑连接到它,如下所示:
在gateway.myuniv.edu
:$ jupyter notebook --no-browser --port 8888
在我的笔记本电脑:$ ssh -v -N -L 9000:localhost:8888 [email protected]
然后在我的笔记本电脑的浏览器,我打开网址:http://localhost:9000
什么不起作用:我不想在网关上运行服务器,因为我不能在那里进行繁重的计算。我试图做到以下几点:
在cluster.myuniv.edu
:$ jupyter notebook --no-browser --port 8888
在我的笔记本电脑:$ ssh -v -N -L 9000:cluster.myuniv.edu:8888 [email protected]
然后在我的笔记本电脑的浏览器,我打开网址:http://localhost:9000
。这不起作用:SSH说连接被拒绝。
我不明白为什么会发生这种情况,以及如何调试,很乐意提供任何帮助。谢谢!
这几乎可以工作:网关上的命令应该ssh到cluster:'$ ssh -v -N -L 8888:localhost:8888 myusername @ cluster.myuniv.edu'。当我这样做时,它会起作用。我编辑了你的回复 - 谢谢! –
谢谢!我很高兴你的工作。你能否将问题标记为已回答? – mrandrewandrade
当然。最后一件事,你能解释为什么'ssh -v -N-L 9000:cluster.myuniv.edu:8888 myusername @ gateway.myuniv.edu'会导致我在'cluster.myuniv.edu上转发端口':8888' '在'gateway.myuniv.edu'上端口':9000',然后在我的笔记本电脑上将'gateway.myuniv.edu'上的端口':8888'转发到端口'9000'?这对我没有意义。 –