网站怎么做悬浮图片,网站检索 标签,无锡网站推,登录手机网站模板html端口转发概述
端口转发#xff0c;能够将其他TCP端口的网络数据通过SSH链路转发#xff0c;并且提供了ssh的加密和解密的服务。 ssh端口转发有如下这些优点#xff1a;
提供了ssh的加密传输#xff0c;利于安全能够突破防火墙限制
目前ssh端口转发有如下几种方式#x…端口转发概述
端口转发能够将其他TCP端口的网络数据通过SSH链路转发并且提供了ssh的加密和解密的服务。 ssh端口转发有如下这些优点
提供了ssh的加密传输利于安全能够突破防火墙限制
目前ssh端口转发有如下几种方式
本地转发远程转发动态转发
1. 本地转发
场景假设有一台服务器(1.1.1.1)服务端口为(80)但是出于安全限制服务器只开放了ssh的22端口并且只允许在服务器上的应用才能访问到该端口服务(监听socket127.0.0.1:80)。我们有一台远程客户端(2.2.2.2)我们希望在远程客户端上对该服务进行调试。有什么办法可以实现
这种场景就非常适合实用ssh本地转发模式。
本地转发的命令格式
ssh -L local port:remote host:remote port ssh hostname-g 参数开启网关模式允许从非本地连接 在客户端上执行
ssh -L 9527:localhost:80 1.1.1.1如果觉得难以理解不要着急先看一下这个数据流是怎么走的
我们在客户端上的应用将数据发送到客户端的9527端口上而客户端的 SSH Client 会将9527端口收到的数据加密并转发到服务器的 SSH Server 上。SSH Server 会解密收到的数据并将之转发到监听的80端口上最后再将从80端口返回的数据原路返回以完成整个流程。
从上面的数据流可以看到ssh实现了加密、转发、解密、通信的过程。
2. 远程转发
场景由于限制我们的客户端无法访问到服务器的任何端口。但是服务器能够访问客户端却是被允许的。此时我们就需要通过远程转发来实现端口转发。
远程转发的命令格式
ssh -R local port:remote host:remote port SSH hostname服务器上执行
ssh -R 9527:localhost:80 2.2.2.2远程转发的数据流与本地转发大致是一样的但是SSH Client与SSH Server的位置互换
我们的客户端上的应用将数据发送到客户端的9527端口上客户端的SSH Server会将9527端口上接收的数据加密转发到服务器的SSH Client上SSH Client接收到数据后解密并转发到监听的80端口上最后再将80端口返回的数据原路返回完成整个流程。
3. 多主机转发
场景我们有两台客户端分别为A、C有两台服务器分别为B、D。客户端网络与服务器网络有防火墙限制但是我们能够实现从客户端A通过ssh访问到服务器D。我们的需求是需要从客户端C访问到服务器B上80端口服务。此时我们就可以使用多主机端口转发。
在客户端C上执行
ssh -g -L 9527:B ip:80 D ip解释
通过SSH Client C与SSH Server D建立ssh隧道实现C转发B的80服务。命令中我们填写了B的ip来表示被转发的服务ip。然后我们添加-g参数表示开启网关转发模式来实现非本地客户端访问。
缺点 虽然从C-D的链路是有加解密的过程。但是从A-C从B-D是非安全连接。如果这其中的网络有风险。那么我们的服务的转发也是有风险的。
4. 动态转发
动态转发相对于本地转发、远程转发等他是不需要指定要转发的端口号。这样就可以实现多端口号转发。
命令格式
ssh -D local port SSH Server参数解释 -D port This works by allocating a socket to listen to port on the local side, and whenever a connection is made to this port, the connection is forwarded over the secure channel, and the application protocol is then used to determine where to connect to from the remote machine. Currently the SOCKS4 and SOCKS5 protocols are supported, and ssh will act as a SOCKS server. Only root can forward privileged ports. Dynamic port forwardings can also be specified in the configuration file.执行
ssh -D 7001 SSH Server缺点 同样的从SSH Client到SSH Server的数据是被保护的脱离这部分的网络则并不是安全的。