SSH 远程端口转发

Posted Hopkings

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSH 远程端口转发相关的知识,希望对你有一定的参考价值。

  既然"本地端口转发"是指绑定本地端口的转发,那么"远程端口转发"(remote forwarding)当然是指绑定远程端口的转发。

  还是接着看上面那个例子,host1与host2之间无法连通,必须借助host3转发。但是,特殊情况出现了,host3是一台内网机器,它可以连接外网的host1,但是反过来就不行,外网的host1连不上内网的host3。这时,"本地端口转发"就不能用了,怎么办?

  解决办法是,既然host3可以连host1,那么就从host3上建立与host1的SSH连接,然后在host1上使用这条连接就可以了。

  我们在host3执行下面的命令:

$ ssh -R 2121:host2:21 host1

  R参数也是接受三个值,分别是"远程主机端口:目标主机:目标主机端口"。这条命令的意思,就是让host1监听它自己的2121端口,然后将所有数据经由host3,转发到host2的21端口。由于对于host3来说,host1是远程主机,所以这种情况就被称为"远程端口绑定"。

  绑定之后,我们在host1就可以连接host2了:

 $ ftp localhost:2121

  *注意:"远程端口转发"的前提条件是,host1和host3两台主机都有sshD和ssh客户端。

以上是关于SSH 远程端口转发的主要内容,如果未能解决你的问题,请参考以下文章

利用SSH端口转发实现远程访问内网主机远程桌面 建立SSH转发

SSH 内网端口转发实战

SSH 远程端口转发

ssh动态端口转发

安全牛学习笔记SSH远程端口转发和动态端口转发以及X协议转发

[转帖]SSH原理与运用:远程操作与端口转发