跨 2 个服务器的 SSH 隧道

跨 2 个服务器的 SSH 隧道

我使用以下命令从我的系统创建到服务器 1 的隧道,并从服务器 1 到服务器 2 创建从我的系统到服务器 2 的隧道

ssh -t -t -L4450:localhost:5590 user1@server1 'ssh -L 5590:localhost:2000 user@server2'

但是当我尝试在浏览器中浏览网页时收到以下消息:


channel 3: open failed: connect failed: Connection refused
channel 4: open failed: connect failed: Connection refused

命令有什么问题吗?

编辑:

我的目标是通过服务器 2(SOCKS 代理)访问互联网。由于某些限制,我必须使用接口服务器(服务器 1)创建到服务器 2 的隧道。

答案1

这应该是命令:

ssh -t -L4450:localhost:5590 user1@server1 ssh -t -D5590 user@server2

第一个 ssh 直接将 4450 端口转发到 server1,并将数据包发送到其端口 5590。第二个 ssh 使用动态端口转发(socks 代理)与 server2 建立连接,监听 server1 端口 5590。

因此,从您发往 localhost:4450 的数据包将被转发到 server1 5590,这是发送到 server2 并从 server2 IP 发送到互联网的动态端口转发。

相关内容