如何通过ssh访问本地服务器上的端口? [重复]

问题描述 投票:0回答:1

我在同一网络上的远程计算机上运行烧瓶服务器,其IP为192.168.1.11。因此,网络的烧瓶服务器端点应为192.168.1.11:5000,其中5000是烧瓶选择的默认端口。

但是,当我从本地计算机(IP:192.168.1.10)发出请求到192.168.1.11:5000时,它不会返回任何内容。

但是当我在我的本地机器上运行以下命令(IP:192.168.1.10)ssh -L 4000:127.0.0.1:5000 [email protected]然后点击localhost:4000时,它可以工作。我知道这是ssh中的本地端口转发。

但是当我在远程机器上运行jupyter notebook时,它运行在192.168.1.11:8890上。然后,当我从本地机器运行192.168.1.11:8890时,它可以工作。

为什么jupyter工作而不是通过默认配置烧瓶?是因为jupyter进行某种远程ssh端口转发。我如何运行一些代码,即ssh -R xxxx:xxxx:xxxx xxxx等一些配置。

python flask ssh
1个回答
1
投票

您的烧瓶服务器似乎只在环回接口上侦听。

来自docs

外部可见服务器

如果您运行服务器,您会注意到服务器只能从您自己的计算机访问,而不能从网络中的任何其他计算机访问。这是默认设置,因为在调试模式下,应用程序的用户可以在您的计算机上执行任意Python代码。

如果禁用了调试器或信任网络上的用户,只需在命令行中添加--host = 0.0.0.0即可公开服务器:

flask run --host=0.0.0.0

这告诉您的操作系统要监听所有公共IP。

© www.soinside.com 2019 - 2024. All rights reserved.