我不会在没有搜索的情况下寻求答案。我已经搜索了所有地方,作为最后一次尝试,我在 stackoverflow 上查看是否真的可行。
我的问题是,我有一台 Windows 10 PRO 机器,我需要使用该机器的 IP 地址。我告诉自己,很简单,我需要的只是一个 ssh 隧道。但由于系统本身的原因,在 Windows 中配置功能齐全的 ssh 服务器很困难。但客户端总是很容易。
我正在尝试在 Ubuntu 服务器上的客户端中创建反向 ssh 隧道,但没有成功。我需要的是一个代理,它使用 Windows 客户端的 IP 地址,连接到我在 Ubuntu 上的 ssh 服务器,以在 curl 中发出仅由 Windows 计算机 IP 允许的 https 请求。
我已经尝试了所有方法,包括 plink.exe,在我看来,它是在 Windows 中建立 ssh 连接的最佳且轻量级的解决方案。
有人能帮助我吗?
谢谢。
答案1
我认为你想要的是:
- Ubuntu 服务器上的代理服务器(squid 或其他),该代理服务器可以通过服务器上的端口 8080 访问。
- SSH 连接中的端口转发,以便服务器上的 8080 端口显示为本地机器上的端口,例如 9090(也可以相同)。
- 在 Windows 计算机上,您将代理声明为
localhost:9090
。 到 的连接localhost:9090
将转发为 到 的连接server:8080
,因此将连接到服务器上的代理。
在实践中:
- 确保服务器上
/etc/ssh/sshd_config
有AllowTcpForwarding yes
- 至少 PuTTY 支持端口转发,它是 SSH 连接中的选项之一。当然,在使用代理之前,您必须先使用 PuTTY 启动与服务器的 SSH 连接。
我们在工作中使用类似的设置来连接数据库服务器。防火墙只允许连接到 SSH,因此我们使用它来将数据库服务器端口转发到我们的本地开发机器,其中数据库服务器显示为本地端口。