美文网首页Linux
详解SSH三种端口转发

详解SSH三种端口转发

作者: 很少更新了 | 来源:发表于2017-05-27 16:52 被阅读1222次

详解SSH三种端口转发

SSH端口转发的好处:

1. 利用SSH通道天然的加密特性
2. 通过具备访问权限的第三者,突破防火墙对自己的限制,或者隐身

角色定义:

A. 本地服务器,想通过中间服务器B间接访问目标服务器C
B. 中间服务器,类似于代理,A以B的名义去访问C
C. 目标服务器,C看到的都是中间服务器B在访问自己

A Home_Computer_IP: 10.10.1.200
B SSH_Forward_Server_IP1: 10.10.1.201
  SSH_Forward_Server_IP2: 192.168.1.201
C The_Tag_Server_IP: 192.168.1.224

1. 本地端口转发

命令:

ssh -Nf -L [local_A_address]:local_A_port:target_C_server:target_C_port via_B_server
ssh -Nf -p B_SSH_PORT -L 10.10.1.200:8080:192.168.1.224:80 B_User@10.10.1.201

参数:

-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. 远程端口转发 在B上执行

命令:

ssh -Nf -R [local_A_address]:local_A_port:target_C_server:target_C_port local_A_address
ssh -Nf -p A_SSH_PORT 10.10.1.201:8080:192.168.1.224:80 A_User@10.10.1.200

参数:

-R,remote,远程端口转发
local_A_address,这个地址为A的IP

应用:

环境和目的 与 本地端口转发是一样的,这里只是不在本地服务器A上执行命令,而是在中间服务器B上执行;
为什么不直接在服务器A自己身上执行命令呢?这个场景有别于本地端口转发的地方在于A不能主动连接B但反之可以,比如A在外网,B在内网;
而A去访问的时候,同样都是通过自己的IP和端口,同样首先建立AB之间的SSH通道,以服务器B的名义来访问目标服务器C。

3. 动态端口转发

命令:

ssh -Nf -D [local_A_address]:local_A_port via_B_server
ssh -Nf -p B_SSH_PORT 10.10.1.200:8080 B_User@10.10.1.201

参数:

-D,dynamic,动态端口转发

应用:

本地和远程端口转发,都限定了目标服务器以及目标服务器的端口;
而动态端口转发,A把B作为了自己的全权代理,不限定目标服务器及其端口;
这里要求在A上,做下代理设置,比如浏览器的代理设定为自己的IP:PORT;
本地端口转发和远程端口转发,其实都可看着是动态端口转发(代理)的子集;
三者和一般代理的目的和场景都一致,区别在于这里自己A和代理服务器B之前的所有连接都是基于加密的SSH。

相关文章

  • 详解SSH三种端口转发

    详解SSH三种端口转发 SSH端口转发的好处: 角色定义: 1. 本地端口转发 命令: 参数: 应用: 关闭: 2...

  • SSH 端口转发

    SSH端口转发分为三种情况,分别为本地端口转发,远程端口转发以及动态端口转发.本文只介绍前两种. 什么是端口转发 ...

  • ssh的代理和端口转发机制介绍

    本文介绍通过ssh建立隧道的三种方式。 ssh的隧道均通过端口转发来实现,包括三种模式: 本地端口转发,使用-L参...

  • 关于ssh端口转发

    概述 ssh 端口转发分为三种情况本地端口转发和远程端口转发还有动态端口转发下面我用四个例子来解释这三种转发的用处...

  • ssh端口转发

    SSH Tunneling ssh端口转发,用来实现翻墙的操作。 它有几种不同的称呼:ssh端口映射,端口转发,s...

  • ssh端口转发(ssh隧道)详解

    摘要 ssh端口转发(或称ssh隧道)在本机和远程主机之间建立一个加密的通信隧道。这一隧道可以被其他非加密(例如I...

  • 通过SSH隧道连接mysql

    SSH隧道的类型 SSH隧道有3种类型: 动态端口转发(Socks 代理) 本地端口转发 远端端口转发 通过本地端...

  • 5. 调试利器 - 端口转发 - ssh隧道技术

    说明 使用技术:** SSH隧道**端口转发分为 本地端口转发 和 远程端口转发。本地端口转发:将远程的端口映射到...

  • ssh隧道用于调试

    相关阅读 SSH隧道与端口转发及内网渗透 | 个人博客 SSH隧道技术----端口转发,socket代理 | 博客...

  • 【端口转发】SSH端口转发

    0x01 SSH隧道 什么是SSH隧道呢?举个例子,我们都知道,SSH传输数据是加密传输的,可以有效的保证数据的安...

网友评论

  • 小千_f5c6:动态端口转发的命令是在B机上输入的吗

本文标题:详解SSH三种端口转发

本文链接:https://www.haomeiwen.com/subject/fkvqfxtx.html