我的网络上有两台机器,IP 分别为192.168.1.2
(服务器)和192.168.1.3
(客户端)。在服务器中,有一个 HTTP 服务器lo
在端口 8080(127.0.0.1:8080)的接口上运行,只有本地用户才能访问。我想将该端口转发给客户端。我发现的唯一方法是通过 SSH 隧道。
ssh -L 8080:127.0.0.1:8080 [email protected] -N -vv
对于此过程,我需要拥有该用户的密码或私钥。假设我 在服务器上don't have any kind of credentials
这样做,是否有其他方法可以在不使用 SSH 实用程序的情况下建立这样的隧道have access to execute commands
?我的最终目标是能够192.168.1.2
从客户端以 localhost 身份连接到 HTTP 服务器。
答案1
我找到了一个叫做凿这让我可以做我想做的事。
为此,您必须有某种方法来执行命令。我能够将可执行文件上传到服务器并使用它。
chisel server --reverse --port 9001 # Client side
这将启动反向代理并在端口 9001 上监听客户端的任何连接。
chisel client 192.168.1.3:9001 R:8080:127.0.0.1:8080 # Server side
通过执行此操作,将会与客户端的服务器建立连接,并将指定端口(在本例中为 8080)的流量转发到服务器端的服务器。
答案2
GNU netcat 具有内置此功能:
nc -L localhost:8080 -p 9001
这看起来像是能够完成工作的最简单的解决方案。