既然"本地端口转发"是指绑定本地端口的转发,那么"远程端口转发"(remote forwarding)固然是指绑定远程端口的转发。ssh
仍是接着看上面那个例子,host1与host2之间没法连通,必须借助host3转发。可是,特殊状况出现了,host3是一台内网机器,它能够链接外网的host1,可是反过来就不行,外网的host1连不上内网的host3。这时,"本地端口转发"就不能用了,怎么办?spa
解决办法是,既然host3能够连host1,那么就从host3上创建与host1的SSH链接,而后在host1上使用这条链接就能够了。code
咱们在host3执行下面的命令:blog
$ ssh -R 2121:host2:21 host1
R参数也是接受三个值,分别是"远程主机端口:目标主机:目标主机端口"。这条命令的意思,就是让host1监听它本身的2121端口,而后将全部数据经由host3,转发到host2的21端口。因为对于host3来讲,host1是远程主机,因此这种状况就被称为"远程端口绑定"。rem
绑定以后,咱们在host1就能够链接host2了:class
$ ftp localhost:2121
*注意:"远程端口转发"的前提条件是,host1和host3两台主机都有sshD和ssh客户端。ftp