【问题标题】:Is it possible to do multiple port forwarding with one ssh connection?是否可以通过一个 ssh 连接进行多个端口转发?
【发布时间】:2013-10-14 11:40:36
【问题描述】:

我现在可以通过ssh -L 8080:localhost:80 user@host.com将一个8080端口转发到远程80端口,是否可以通过一个ssh连接进行多个端口转发?

【问题讨论】:

  • 没有。连接是本地 ip:port 和远程 ip:port 的唯一组合。如果您想要多个端口,则需要多个连接。
  • 谢谢你的回复,所以也不可能在某个文件里做?
  • 是的,你可以。只需添加任意数量的 -Lsrc_prt:dst_host:dst_prt 参数即可。您还可以启用 SOCKS 代理,如下面的@Eugene 所述。

标签: ssh portforwarding


【解决方案1】:

是的,为每个要转发的端口使用-L 选项。

例子:

ssh -L 8080:localhost:80 -L 7070:localhost:70 user@host.com

【讨论】:

  • 欢迎来到 *!请提供文档链接以说明它如何回答问题。
【解决方案2】:

这称为动态端口转发,如果 SSH 服务器和 SSH 客户端都支持这一点,您可以将客户端配置为使用 SSH 客户端作为 SOCKS 代理,其余的由 SSH 完成。在这种情况下,一个“SSH 连接”(实际上 SSH 连接在“内部”携带多个独立通道)用于连接到多个目的地。

【讨论】:

  • 实现它的命令行是什么?知道如何检查双方是否支持它也很有用。