通过隧道连接(通过SSH)连接Jupyter Python

3

我在连接远程计算机上运行的jupyter时遇到了问题。我已经按照以下文档配置了ssl:

https://jupyter-notebook.readthedocs.io/en/latest/public_server.html#hashed-pw

然后我按照教程在远程机器上运行命令:jupyter notebook。当它在运行时,我在另一个终端中通过运行命令创建了一个隧道:

ssh -N -f -L 8889:127.0.0.1:8881 user_name@hostname.com

当然,Jupyter 正在运行在 8881 端口。当我在本地电脑上打开浏览器并尝试打开页面时:

localhost:8889

我遇到了一个错误,提示连接被重置,而在命令行中,ssh返回了以下错误:

channel 2: open failed: connect failed: Connection refused

有人能帮我吗?我已经整天在寻找答案,但仍然无法解决问题。


错误信息似乎暗示Jupyter没有在预期的端口上实际侦听。我建议尝试查看一些更简单的方面以取得一些进展。(1)执行 netstat -atnvp 以查看哪些端口是打开的以及哪个程序正在侦听它们。请在本地主机和服务器上尝试,结果是否如您所预期?(2)与其运行Jupyter,不如尝试echo、cat或nc(即netcat)。 - Robert Dodier
1个回答

2
问题是,在我的情况下,jupyter正在本地主机上运行。在我的远程服务器上,我无法访问远程localhost,所以解决方案非常简单 - 我在指定的IP = 0.0.0.0上运行jupyter。
jupyter notebook --no-browser --port=8881 --ip=0.0.0.0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接