Linux-Internet版-全局系统架构师 SSH端口转发 2 ssh端口转发 SSH

Report
SSH端口转发
ssh端口转发
SSH端口转发技术
在ssh加密的通道上传输其它协议数据,即其它协议的
数据通过SSH端口进行转发,SSH连接作为其它协议
传输的通道(隧道),这种方式也叫做SSH端口转发
或SSH隧道
SSH端口转发技术的作用
加密数据传输
突破防火墙限制
SSH端口转发的分类
本地转发(local forwarding)
远程转发(remote forwarding)
动态转发(dynamic forwarding)
2
ssh端口转发
SSH本地端口转发
本地转发中的本地是指将本地的某个端口转发到其他
主机的某个端口,这样当我们的程序连接本地的这个
端口时,其实间接连上了其他主机的某个端口,当我
们发数据包到这个端口时数据包就自动转发到了那个
远程端口上
ssh -L [bind_address:]port:host:hostport server_address
SSH本地端口转发中的常用选项
-L [bind_address:]port:host:hostport
-N:不执行命令,和-f配合使用
-f:在后台执行,不用登陆到远程主机
3
ssh端口转发
SSH本地端口转发:实现安全通信
ssh -Nf -L 10.10.10.1:7788:10.10.10.2:80 10.10.10.2
1
2
3
4
4
ssh端口转发
SSH本地端口转发:实现绕过防火墙限制
C不允许A访问,但允许B访问,通过ssh本地转发实
现A访问C
ssh -Nf -L 10.10.10.1:7788:10.10.10.3:80 10.10.10.2
1
2
3
5
ssh端口转发
SSH远程端口转发
与本地端口转发相对的是远程端口转发。与本地转发
不同,它指定的是远程主机的一个端口,将指向该端
口的连接转发到本地端口。可知远程转发和本地转发
本质上是一样的,主要区别在于需要转发的端口是在
远程主机上还是在本地主机上
ssh -R [bind_address:]port:host:hostport server_address
SSH远程端口转发中的常用选项
-R [bind_address:]port:host:hostport
6
ssh端口转发
SSH远程端口转发:实现访问内网的资源
内网通过SNAT可以访问外网,外网无法直接访问内网
内网主机通过SSH远程转发实现外网主机访问内网资源
ssh -Nf -R 192.168.1.150:7788:10.10.10.10:80 192.168.1.150
1
4
2
3
7
ssh端口转发
SSH动态端口转发
前面介绍的端口转发都是两个特定的端口间的转发,
如果我们想用同一个本地端口访问不同的外部服务,
那就要将ssh作为SOCKS代理服务,SOCKS也是一种
网络协议,它用于客户端和服务器之前数据传输的代
理服务
ssh -D [bind_address:]port server_address
8
ssh端口转发
SSH动态端口转发:实现访问内网的资源
防火墙允许内网主机A访问外网,禁止主机B访问外网
在内网主机B上通过SSH动态转发实现通过主机A问外网
ssh -Nf -D 10.10.10.20:7788 10.10.10.10
5
1
2
3
9

similar documents