2011/05/14

SSH Reverse Tunnel - SSH反向通道

有時候會遇到想從一台有public IP的server登入到一台位於NAT底下的server,這時候reverse tunnel就可以派上用場。

e.g.
如果公司的server位於防火牆or多層router底下,而回家後又想從家裡連到公司work.

1. 在公司先建立company到home的reverse tunnel
$ ssh -R 8080:localhost:22 -o TCPKeepAlive=yes home_user@(家裡電腦的ip)
額外參數
-f: run在背景
-N: 連上後不能執行command

2. 回到家後只要ssh連線localhost:8080就可以導向公司server了
$ ssh -p 8080 com_user@localhost


e.g.
上述tunnel的目標位址為localhost:22,也就是公司當下那一台主機的sshd,如果今天是想連到公司其他台電腦的web服務,命令為
$ ssh -R 8080:192.168.0.8:80 -o TCPKeepAlive=yes home_user@(家裡電腦的ip)
回到家後只要開啓瀏覽器,在網址列打localhost:8080就能連到公司的192.168.0.8:80網頁了


沒有留言:

張貼留言