既然"本地端口轉發"是指綁定本地端口的轉發,那麼"遠程端口轉發"(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