https://zaiste.net/ssh_port_forwarding/#remote-port-forwarding
远程端口转发是使用-R 参数创建的。
ssh -R source_port:forward_to_host:destination_port via_host
该命令连接到 via_host。 via_host 运行 SSH 服务器。然后,它将所有连接尝试转发到远程 via_host 计算机上的 source_portdestination_port 本地机器上的端口(发起 ssh 命令的机器)。 forward_to_host 计算机必须可从本地计算机访问。转发也可以通过 Unix 套接字完成。
destination_port
发起 ssh 命令的机器上是否需要端口?
端口不是destination_port
在机器上forward_to_host
吗?
不一定是forward_to_host
发起ssh命令的机器吗?
唯一的要求不是forward_to_host
必须是启动 ssh 命令的计算机可以访问的任何计算机吗?
谢谢。
答案1
不幸的是,您链接到的文档中的所有示例都转发到本地主机,并且似乎的描述-R
仅限于此。您认为这不是固有的限制是正确的:
destination_port
不必位于ssh
运行的主机上;destination_port
确实已开启forward_to_host
;forward_to_host
不一定是ssh
运行的主机。
整个要点-R
是允许远程系统连接到可从发起主机访问的任何其他系统。它与 相反-L
。目标主机能是发起主机本身,但将其用于其他主机也很有用 -例如当出于保密性需要反向隧道时,或者当发起系统位于远程系统无法直接访问的网络内部时。