如果端口未转发,则连接被拒绝

如果端口未转发,则连接被拒绝

我有一台远程机器,它实际上只是本地网络中的一台机器。我在这台机器上运行 Jupyter Notebook,我总是能够通过 URL 访问它,例如http://192.168.111.242/?token=asdfghjkl

但是,最近这对我来说不起作用,我必须做的是用户端口转发才能使其工作:

ssh -f username@name -L PORT:localhost:PORT -N

否则,访问http://192.168.111.242/?token=asdfghjkl会在我的浏览器中给我一个ERR_CONNECTION_REFUSED

我不太明白为什么必须在这里转发端口。

可能是什么原因?

答案1

默认情况下,jupyter 仅绑定到 localhost 接口,因此只能通过连接到 来从本地计算机使用它127.0.0.1。如果要使其在网络上可用,则必须告诉它监听计算机的外部 IP 地址,或者简单地监听所有可用的 IP 地址:

jupyter notebook --ip='*' --no-browser

这样,您就不需要创建端口转发来访问您的 jupyter 笔记本。

但是,请记住,使用 ssh 隧道可能比让 jupyter 监听您的网络更安全。此外,通过 ssh 隧道的连接将被加密,而与 jupyter 的直接连接很可能不会被加密。这很大程度上取决于您对网络的信任程度。如果不是 100% 可信,请考虑使用 ssh 隧道解决方案。

相关内容