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客户端。

posted @ 2017-02-25 16:14  Hopkings  阅读(1846)  评论(0编辑  收藏  举报