详解SSH三种端口转发
来源:互联网 发布:李宝英李钟硕 知乎 编辑:程序博客网 时间:2024/05/22 00:12
SSH端口转发的好处:
1. 利用SSH通道天然的加密特性
2. 通过具备访问权限的第三者,突破防火墙对自己的限制,或者隐身
角色定义:
A. 本地服务器,想通过中间服务器B间接访问目标服务器C
B. 中间服务器,类似于代理,A以B的名义去访问C
C. 目标服务器,C看到的都是中间服务器B在访问自己
1. 本地端口转发
命令:
ssh -Nf -L [local_A_address]:local_A_port:target_C_server:target_C_port via_B_server
参数:-N,不执行命令
-f,后台执行
-L,local本地端口转发
local_A_address:
127.0.0.1 - 默认,只能本机使用这个端口转发
也可以是本机的IP地址,同时其他人可以使用这个IP来使用这个端口转发
via_B_server:中间服务器
应用:
A---能访问------>B-------能访问------>C
A---不能访问----------------------------->C
A---通过本机端口,以B的名义访问-->C
关闭:
直接kill -9 建立的SSH连接,下同
2. 远程端口转发
命令:
ssh -Nf -R [local_A_address]:local_A_port:target_C_server:target_C_port local_A_address
参数:
-R,remote,远程端口转发
local_A_address,这个地址为A的IP
应用:
环境和目的 与 本地端口转发是一样的,这里只是不在本地服务器A上执行命令,而是在中间服务器B上执行;
为什么不直接在服务器A自己身上执行命令呢?这个场景有别于本地端口转发的地方在于A不能主动连接B但反之可以,比如A在外网,B在内网;
而A去访问的时候,同样都是通过自己的IP和端口,同样首先建立AB之间的SSH通道,以服务器B的名义来访问目标服务器C。
3. 动态端口转发
命令:
参数:
-D,dynamic,动态端口转发
应用:
本地和远程端口转发,都限定了目标服务器以及目标服务器的端口;而动态端口转发,A把B作为了自己的全权代理,不限定目标服务器及其端口;
这里要求在A上,做下代理设置,比如浏览器的代理设定为自己的IP:PORT;
本地端口转发和远程端口转发,其实都可看着是动态端口转发(代理)的子集;
三者和一般代理的目的和场景都一致,区别在于这里自己A和代理服务器B之前的所有连接都是基于加密的SSH。
转载自:http://blog.csdn.net/evandeng2009/article/details/51926797
- 详解SSH三种端口转发
- 详解SSH三种端口转发
- [精]详解SSH端口转发,本地端口转发、远程端口转发、动态端口转发
- SSH的端口转发功能命令详解
- SecureCRT设置SSH端口转发详解
- ssh端口转发
- SSH 端口转发
- SSH 端口转发
- FW: SSH端口转发
- 实战ssh端口转发
- SSH端口转发
- ssh 端口转发
- 实战 SSH 端口转发
- 实战SSH端口转发
- SSH 端口转发
- 实战 SSH 端口转发
- SSH端口转发
- SSH端口转发
- 模糊测试工具Sulley开发指南(2)——与Peach比较
- @RequestParam @RequestBody @RequestHeader 等详解
- 莫队算法
- spring mvc 环境Fastjson转换器jsonp请求
- mac下安装Homebrew
- 详解SSH三种端口转发
- 挑战程序竞赛系列(85):3.6极限情况(2)
- Ajax获取服务器上的HTML文件出现中文乱码的解决方法
- eclipse 在线安装 svn
- 搬博客啦
- Linux系统排查1——内存篇
- [awk shell] 判断一个文件中内容在另一个文件中
- 一起来学SpringCloud之
- Nginx 绑定多个域名的方法