美文网首页
SSH 端口转发

SSH 端口转发

作者: 面包石头 | 来源:发表于2017-01-02 11:23 被阅读385次

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

什么是端口转发

日常生活中,客户端与服务器端连接(例如网页浏览时的http连接),都是从客户端发起时,指定服务器端的地址(包括IP和端口).例如访问百度时,浏览器指定服务器的地址为https://www.baidu.com. 其中www.baidu.com经过DNS解析后可得到一个IP地址,而https协议默认使用443端口,因此,访问百度时,浏览器会发起从本地到百度服务器443端口的连接. 而端口转发是指,客户端访问另一个地址和端口,该端口会将所有到达本端口的流量全部转发到目的地址.

SSH端口转发

ssh端口转发是指用ssh在本地环境和转发环境之间建立ssh隧道,这样不仅保证了数据传输安全,也能绕开一些网络防火墙等的限制.下面是ssh的man文档说明

man ssh

SSH本地端口转发

使用 -L 指定本地端口转发,指令形式为

$ssh -L [bind_localhostdaddress]:localhostport:remotehost:remotehostport user@transhost

其中bind_localhostaddress为可选地址,默认为localhost,即127.0.0.1
上面这条指令的意思为:
将发往localhostport的流量发送到transhost, 然后transhost再将收到的流量发送到remotehost:remotehostport. 这样就实现了localhostport的流量转发到remotehost:remotehostport的目的.

本地端口转发使用场景

  1. 绕过IP限制
    有hostA,hostB,hostC三台主机
目标:

hostA --访问--> hostC:80

现状:

hostA--可以访问-->hostB
hostA--不可以访问-->hostC:80
hostB--可以访问-->hostC:80

解决方案

在hostA中启用本地端口转发,将本地8080端口映射到hostC:80端口,这样hostA访问本地8080端口时,会自动将流量转发到hostC:80端口.
指令

[localuser@hostA] ssh -L 8080:hostC:80 hostBuser@hostB
  1. 绕过服务端端口限制
    有hostA,hostB两台主机
目标:

hostA--访问-->hostB:443

现状:

hostA--仅可访问-->hostB:8888端口(同时hostB开放22端口供远程SSH访问)

解决方案

在hostA中启用本地端口转发,将本地8080端口映射到hostB中的443端口,在hostB中流量路径为 hostB:8080 --> hostB:443
指令

[localuser@hostA] ssh -L 8080:localhost:443 hostBuser@hostB

注意上面指令中的localhost.可以从流量的角度理解,此处较容易令人疑惑,分步理解如下
流量从hostA:8080经过ssh隧道(22端口)到达hostB.
此时流量应当转发至localhost:443端口,因为流量已经到达hostB.因此,从hostB看,下一步的目的地址为localhost:443.即到达了hostB:443

[localuser@hostA] ssh -L 8000:hostB:443

SSH远程端口转发

相关文章

  • ssh端口转发

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

  • 通过SSH隧道连接mysql

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

  • 详解SSH三种端口转发

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

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

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

  • ssh隧道用于调试

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

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

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

  • SSH 端口转发

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

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

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

  • SSH端口转发

      本文将介绍两种应用场景的SSH端口转发,分别是SSH本地转发以及SSH远程转发。 简介   SSH(Secur...

  • (转)实战 SSH 端口转发

    实战 SSH 端口转发 通过本文的介绍,读者可以从中了解到如何应用 SSH 端口转发机制来解决日常工作 / 生活中...

网友评论

      本文标题:SSH 端口转发

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