2011年3月29日星期二

ssh 端口转发

ssh的三个强大的端口转发命令:
ssh -C -f -N -g -L listen_port:DST_Host:DST_port -l user Tunnel_Host
ssh -C -f -N -g -R listen_port:DST_Host:DST_port -l user Tunnel_Host
ssh -C -f -N -g -D listen_port -l user Tunnel_Host


建立socks服务:
ssh -C2qfgTNn -D 9596 [email protected]

建立远程vnc链接
ssh -C2qfgTNn -L 5901:localhost:5901 [email protected]

建立从B到C的ssh链接(C是内网,可用B访问C)
ssh -C2qfgTNn -L 9592:server_C:22 [email protected]
-- ssh localhost -p 9592 即链接到C的22端口

本机无法被外网看到,server有公共IP,
ssh -C2qfgTNn -R 9592:localhost:22 [email protected]
-- 在server上ssh localhost -p 9592 即链接到本机的22端口



参见:http://blog.he96.com/2011/03/ssh-man.html

-L port:host:hostport
将本地机(客户机)的某个端口转发到远端指定机器的指定端口. 工作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 同时远程主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有 root 才能转发特权端口. IPv6 地址用另一种格式说明: port/host/hostport
-R port:host:hostport
将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口. 工作原理是这样的, 远程主机上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转向出去, 同时本地主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有用 root 登录远程主机才能转发特权端口. IPv6 地址用另一种格式说明: port/host/hostport
-D port
指定一个本地机器 “动态的” 应用程序端口转发. 工作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 根据应用程序的协议可以判断出远程主机将和哪里连接. 目前支持 SOCKS4 协议, 将充当 SOCKS4 服务器. 只有 root 才能转发特权端口. 可以在配置文件中指定动态端口的转发.

SSH Tunnel -L -R



直接講範例比較容易了解
HostA 本地主機, Linux
HostB 遠端主機, Linux
HostC 其他主機

-L (Local Port Forwarding) 使用時機
情況一: HostA 可能因為防火牆關係無法直接連到 HostC, 但是可以連到 HostB, 想透過 HostB 連 HostC
情況二: HostB, HostC 都在同公司內, 在外點的 HostA 想建立一條安全的通道去連 HostC
$ ssh -fgNL 7777:HostC:7777 [email protected]
建立 HostA:7777 經由 HostB 到 HostC:7777,
在 HostA 連 localhost:7777 就會通到 HostC:7777

-R (Remote Port Forwarding) 使用時機
情況一: HostB 可能因為防火牆關係無法直接連到 HostC, 但是可以連到 HostA, 想透過 HostA 連 HostC
$ ssh -fNR 2222:HostC:22 [email protected]
建立 HostB:2222 經由 HostA 到 HostC:22
在 HostB 連 localhost:2222 就會通到 HostC:22
情況二: HostA 在 NAT 下, 但是又沒有權限在 Gateway 設 DMZ 或 Port Mapping, 想讓有 Public IP 的 HostB 能連進來
$ ssh -fNR 2222:127.0.0.1:22 [email protected]
在 HostB 連 localhost:2222 就可以連到 HostA:22

没有评论:

发表评论