参考文章

一.含义

client为了访问到server的服务,但是由于防火墙的阻拦,client没有办法通过正常访问来进行,这就用到了ssh隧道。

那么ssh隧道本质上其实就是端口转发,它能够将其他TCP端口的网络数据通过SSH链接来转发,并提供相应的加解密服务.

二.功能

ssh的端口转发有两大功能

  1. 加密ssh client和ssh server之间的通讯数据
  2. 突破防火墙的限制完成一些之前无法建立成功的TCP连接

三.Linux下应用的案例

  1. mysql 的server端运行着mysql服务但是只监听着127.0.0.1,在client端搭建ssh隧道亦可访问

ssh -N -f -L 3306:localhost:3306 $server_ip

-1:强制使用ssh协议版本1;
-2:强制使用ssh协议版本2;
-4:强制使用IPv4地址;
-6:强制使用IPv6地址;
-A:开启认证代理连接转发功能;
-a:关闭认证代理连接转发功能;
-b:使用本机指定地址作为对应连接的源ip地址;
-C:请求压缩所有数据;
-F:指定ssh指令的配置文件;
-f:后台执行ssh指令;
-g:允许远程主机连接主机的转发端口;
-i:指定身份文件;
-l:指定连接远程服务器登录用户名;
-N:不执行远程指令;
-o:指定配置选项;
-p:指定远程服务器上的端口;
-q:静默模式;
-X:开启X11转发功能;
-x:关闭X11转发功能;
-y:开启信任X11转发功能。

1.在client上的应用客户端首先将数据发送到本地的3306端口

2.client上的ssh客户端将本地3306端口收到的数据发送到server端的ssh server上

3.ssh server会解密收到的数据并且将它转发到监听的3306端口

4.最后再将从mysql返回的数据原路返回以完成整个数据传输流程

具体解释可以参考这篇文章

最新文章

  1. go 数组(array)、切片(slice)、map、结构体(struct)
  2. (Tree)94.Binary Tree Inorder Traversal
  3. 别再TM跟我说找不到满意的工作!
  4. [安卓] 3、EditText使用小程序
  5. 【BZOJ】2152: 聪聪可可(点分治)
  6. 3-4 rpm包查询
  7. svg中改变class调用的线条颜色
  8. html5 canvas图片翻转
  9. Linux下SSH免密码登录
  10. Palindrome Partitioning 解答
  11. BZOJ 1261: [SCOI2006]zh_tree( 区间dp )
  12. 雅居乐在核心产品 "决策"
  13. js原生设计模式——9外观模式封装
  14. PAT1117. Eddington Number
  15. Perl的比较操作符
  16. 学习用Node.js和Elasticsearch构建搜索引擎(1):了解并运行Elasticsearch
  17. Good Bye 2018 C. New Year and the Sphere Transmission
  18. 步步为营-77-Ajax简介
  19. linux 下gcc 编译结构体问题
  20. Android:getContext().getSystemService()

热门文章

  1. Elasticsearch技术解析与实战 PDF (内含目录)
  2. 深层对象转深层数组(重点:先把对象转数组,直接for in 遍历对象不太可行)
  3. html如何修改hr水平直线的粗细
  4. 【Leetcode_easy】1033. Moving Stones Until Consecutive
  5. 18点睛Spring4.1-Meta Annotation
  6. web端自动化——selenium3+Python3+pycharm自动化
  7. Word中如何加载EndNote
  8. socket编程(二)
  9. NetworkX一个图论与复杂网络建模工具
  10. 【转帖】2011-2018年中国IPv6地址数量及国际出口带宽数走势情况[图]