美文网首页
【端口转发】SSH端口转发

【端口转发】SSH端口转发

作者: Pino_HD | 来源:发表于2017-12-03 14:41 被阅读0次

0x01 SSH隧道

什么是SSH隧道呢?举个例子,我们都知道,SSH传输数据是加密传输的,可以有效的保证数据的安全,但是telnet是明文传输的,很不安全,尤其是在公网上,一旦监听到就会有很大的危害,所以一般公司的防火墙都会禁止外网通过telnet连接内网的计算机的。那么如果我们想在外面访问公司的计算机怎么办呢?这个时候就可以用到SSH隧道技术,可以保证数据的传输是加密的。通常我们讲的ssh隧道技术其实就是ssh端口转发。

0x02 SSH本地端口转发

原理如下图


建立本机独享隧道

将本地9999端口通过192.168.10.1映射到192.168.10.2

ssh -L 9999:192.168.10.2:23 -Nf 192.168.10.1

-L 本地端口转发
-N 不执行命令或者脚本,否则会等待用户的输入
-f 后台执行

建立共享隧道

他人可以通过访问我的9999端口来访问192.168.10.2

ssh -g -L 9999:192.168.10.2:23 -Nf 192.168.10.1

0x03 SSH远程端口转发


那么当防火墙设置为我们从外面不能直接访问内部网络的服务器,但是内部网络的服务器可以访问外面的时候,就要用到远程端口转发技术了。此时就要在内网跳板计算机上运行命令

ssh -R 9999:192.168.10.2:23 -Nf <外部ip>

这样外部用户只要在自己的机器上使用

telnet 127.0.0.1:9999

就可以访问到内网192.168.10.2的telnet了。

0x04 SSH动态端口转发

举个场景,存在远程外网服务器233.233.233.233上3000端口运行这一个web1服务,4000端口运行这一个web2服务,5000端口运行这一个web3服务(随便举的例子),然后由于防火墙策略只能用22端口连接外部网络,那么如何才能访问到那个外网服务器上的web服务呢?有的同学一定会说可以使用ssh本地端口转发呀,是的,我们可以在本地运行命令

ssh -L 6666:localhost:3000 root@233.233.233.233 //访问web1服务
ssh -L 7777:localhost:4000 root@233.233.233.233 //访问web2服务
ssh -L 8888:localhost:5000 root@233.233.233.233 //访问web3服务

这样做是可以的,但是吧,不觉得很麻烦嘛,如果有10个服务要访问呢,就要输入10条命令,那么这样就可以使用SSH动态端口转发功能了,只需要一条命令即可实现多端口访问。这里需要用到SOCKS代理,使用命令

ssh -D localhost:2000 root@233.233.233.233

然后在浏览器中找到设置代理的地方,选择SOCKS代理,选择SOCKS5,SOCKS主机填localhost,端口填2000,这样我们只需要在浏览器中输入localhost:3000或者localhost:4000或者localhost:5000就可以方便又快速的访问三个web服务了。这里的原理就是我们访问本地加端口的请求会被ssh转发到真正的那个地址(这里就是外网服务器),又真正的那个地址来处理这个请求,然后将数据发回来。

0x05 声明

这篇文章是我通过查询资料然后根据自己的认知来写的,其中如果有什么我说错的地方希望能评论或者私信我,不胜感激!

相关文章

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

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

  • SSH 端口转发

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

  • 通过SSH隧道连接mysql

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

  • 详解SSH三种端口转发

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

  • ssh端口转发

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

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

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

  • ssh隧道用于调试

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

  • 关于ssh端口转发

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

  • 远程服务调试技巧

    SSH端口转发 反向代理 远程端口转发到本地 在remote主机上将会监听10000端口,把接收到的数据转发到本地...

  • Windows Cmd以及Python实现端口转发

    以前笔者写过一篇文章来梳理ssh端口转发-SSH端口转发的妙用[https://www.jianshu.com...

网友评论

      本文标题:【端口转发】SSH端口转发

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