本地端口转发:
ssh -NfL 4922:192.168.168.49:22 -p 28289 -l carl 21.13.9.12
通过21.13.9.12,将本地端口4922的数据转发到192.168.168.49的22端口;
21.13.9.12为机房内的跳板机;
这样就可在本机上ssh -p 4922 -l root 127.0.0.1登陆192.168.168.49.
如果想让另一台电脑通过连接本机的4922登陆到192.168.168.49,则需要添加参数-g,否则只有本机才能登陆;
(N不要断,f是后台,L为local模式)
远程端口转发:
ssh -NfR 9923:127.0.0.1:23 -p 28289 -l carl 21.13.9.12
可以通过远程机器21.13.9.12的端口9923访问本机127.0.0.1的23端口;
这样就可在21.13.9.12这台机器上telnet 127.0.0.1 9923登陆192.168.168.2.
如果还有其它机器与本机在同一个局域网内,
如果本机地址:192.168.168.2,同局域网内有一台192.168.168.3,23号端口开启(telnet端口);
ssh -NfR 9823:192.168.168.3:23 -p 28289 -l carl 21.13.9.12,则
通过21.13.9.12这台机器,可以访问192.168.168.3的23端口。
这样就可在21.13.9.12这台机器上telnet 127.0.0.1 9823登陆192.168.168.3.
如果想让另一台电脑通过连接21.13.9.12这台机器的9823来访问192.168.168.3的23号端口,则加参数 -g
(N不要断,f是后台,R为Remote模式)
总结:
本地端口转发:
ssh -gNfL 本地端口:远程机器A:远程机器A的端口 -p 端口 -l 用户名 可ssh上去的远程机器B
注:机器A和机器B可为同一台机器;如果不是同一台,机器B可访问机器A,一般A和B都在同一个局域网;
通过 本地端口 访问远程机器A的端口;
远程端口转发:
ssh -gNfR 远程机器A端口号:本地机器B:本地机器B的端口 -p 端口 -l 用户名 可SSH上去的远程机器A
注:本地机器B可以是运行此命令的计算机,如果不是,则运行此命令的计算机可访问本地机器B,一般运行此命令的计算机与本地机器B在同一个局域网内。
通过 远程机器A端口号 访问 本地机器B的端口