ssh 隧道并通过隧道接收网页

ssh 隧道并通过隧道接收网页

我尝试使用以下命令创建通过服务器到达客户端的隧道

ssh -X -f admin@IP_server -N -L 4444:IP_client:80

但是当尝试通过 Firefox 打开客户端:80 时收到以下错误

channel 2: open failed: unknown channel type: 
Connection to 81.21.20.207 closed by remote host.

有人知道问题出在哪里吗?非常感谢

答案1

以下是我用来在服务器上加载 webmin 的方法(它被防火墙隔离,因此只有具有 ssh 访问权限的人才能看到它):

ssh -l oli -L 9090:localhost:9090 my-server-ip

这会将我连接到服务器,并将我的本地端口 9090 映射到服务器的 P9090。我只需浏览http://localhost:9090/,就可以看到 webmin。


如果你尝试连接到另一台设备通过您的服务器,您真的不想在手动隧道选项上浪费时间。ssh有一个内置的 SOCKS 代理模式。运行此命令:

ssh -D 9999 oli@my-server-ip

然后告诉浏览器有关 SOCKS 代理的信息。查看网络设置。localhost作为服务器、端口9999。请记住,这必须在 SOCKS 设置下。这不是 HTTP 代理。

现在,当您浏览时,所有流量都会通过 ssh 隧道。这意味着如果另一端有一台只有您的服务器可以访问的设备,您可以使用其 IP 连接到该设备。

请注意,DNS 查找和其他网络流量不会通过隧道(据我所知),因此如果需要的话您需要连接到一个 IP(我怀疑在这种情况下会有所不同)

答案2

如果你想建立一个反向隧道,可以尝试以下方法:

ssh -NT -R 4444:local.mydomain.com:80 [email protected]

它的作用是启动与远程.mydomain.com并转发 TCP 端口 4444远程.mydomain.com到 TCP 端口 80本地.m​​ydomain.com。“-N”告诉 ssh 只设置隧道而不准备命令流,“-T”告诉 ssh 不要在远程系统上分配伪终端。“-R”选项告诉 ssh 将隧道设置为反向隧道。

答案3

您的描述令人困惑。正如所指定的,您已告诉它要将 连接localhost:4444到 ,IP_server然后应连接到IP_client:80,但您却直接连接到IP_client:80

相关内容