SSH端口转发分为两种,一种是本地端口转发,又称为本地SSH隧道。一直是远程端口转发。SSH端口转发,还必须指定数据传送的目标主机,从而形成点对点的端口转发。

本地端口转发

    假定有三台主机A、B、C。由于种种原因(无论是防火墙还是路由原因),AC两台主机之间无法连通。但是B却可以和A、C连通。这时候就可以用本地端口转发来实现A和C通过B来连通。
    A  192.168.7.27
    B  192.168.6.19
    C  192.168.30.68
6网段和7网段、30网段都相通,但是7网段和30网段不通,现在需要从7网段访问30网段的一个web服务,可以通过本地端口转发来实现。首先确保A、B的ssh服务都开启了允许转发:GatewayPorts yes、AllowTcpForwarding yes
 
在A上面执行下面的命令:
ssh -l test -L 192.168.7.27:59000:192.168.30.68:80 192.168.6.19
    参数-L后面总共有四个用冒号分割的值,分别是'本地地址:本地端口:目标主机:目标主机端口'。这条命令的意思,就是指定SSH绑定本地 192.168.7.27的59000端口,然后指定 192.168.6.19将所有的数据,转发到目标主机192.168.30.68的80端口。

如此,我们只要在A上连接A本地地址的59000端口,就等于连上了192.168.30.68的80端口。

curl http://192.168.7.27:59000/

这种本地端口转发适合于A是企业局域网机器,B、C均为广域网上的有独立公网IP的机器,但是企业的防火墙阻止了A和C直接的通讯,但是却允许A和B通讯,这样A就可以通过B和C进行通讯。

远程端口转发
   
 假定有三台主机A、B、C。A是企业内部局域网的机器,B是企业内部一台具即有私网IP又有公网IP的服务器(类似网关),C是Internet上具有
公网IP的服务器,A可以直接连接到C,B可以直接连接A(内网),也可以直接连接C(公网),但是由于A在内网,所以C不能直接连接A,但是C可以通过
B连接A。
        A  10.1.6.234


     B  114.80.130.88/10.1.10.1


     C  119.75.218.77

在B上执行以下命令:

ssh -l taomee -p 58000 -R 10.1.10.1:59000:10.1.6.234:80 119.75.218.77

在C上执行以下命令:

curl http://10.1.6.234

Linux SSH端口转发的更多相关文章

  1. Linux:ssh端口转发详解

    ssh是个多用途的工具,不仅可以远程登录,还可以搭建socks代理.进行内网穿透,这是利用它的端口转发功能来实现的. 所谓ssh端口转发,就是在ssh连接的基础上,指定 ssh client 或 ss ...

  2. 【转】实战 SSH 端口转发

    本文转自:http://www.ibm.com/developerworks/cn/linux/l-cn-sshforward/index.html,至于有什么用,懂的懂! 实战 SSH 端口转发 通 ...

  3. SSH 端口转发

    第一部分 概述 当你在咖啡馆享受免费 WiFi 的时候,有没有想到可能有人正在窃取你的密码及隐私信息?当你发现实验室的防火墙阻止了你的网络应用端口,是不是有苦难言?来看看 SSH 的端口转发功能能给我 ...

  4. 实战 SSH 端口转发

    转自实战 SSH 端口转发 通过本文的介绍,读者可以从中了解到如何应用 SSH 端口转发机制来解决日常工作 / 生活中的一些问题.学会在非安全环境下使用端口转发来加密网络应用,保护个人隐私以及重要商业 ...

  5. SSH25个命令 + 深入SSH端口转发细节

    OpenSSH是SSH连接工具的免费版本.telnet,rlogin和ftp用户可能还没意识到他们在互联网上传输的密码是未加密的,但SSH是加密的,OpenSSH加密所有通信(包括密码),有效消除了窃 ...

  6. 玩转SSH端口转发

    SSH有三种端口转发模式,本地端口转发(Local Port Forwarding),**远程端口转发(Local Port Forwarding)**以及**动态端口转发(Dynamic Port ...

  7. SSH端口转发(本地转发、远程转发、动态转发)

    SSH端口转发   一:什么是端口转发?     SSH 会自动加密和解密所有SSH 客户端与服务端之间的网络数据.但是,SSH 还能够将其他TCP 端口的网络数据通过SSH 链接来转发,并且自动提供 ...

  8. [转载]详解ssh端口转发(二)

    关于使用ssh portforwarding来进行FQ的操作,网络上已经有很多很好的文章,我在这里只是画两个图解释一下. 首先要记住一件事情就是: SSH 端口转发自然需要 SSH 连接,而 SSH ...

  9. [转载]实战 SSH 端口转发

    实战 SSH 端口转发 通过本文的介绍,读者可以从中了解到如何应用 SSH 端口转发机制来解决日常工作 / 生活中的一些问题.学会在非安全环境下使用端口转发来加密网络应用,保护个人隐私以及重要商业信息 ...

随机推荐

  1. TODO管理工具TaskWarrior (跨平台C++代码)

    Taskwarrior 是一个基于命令行的 TODO 列表管理工具.主要功能包括:标签.彩色表格输出.报表和图形.大量的命令.底层API.多用户文件锁等功能. http://www.oschina.n ...

  2. LeetCode: LRU Cache [146]

    [题目] Design and implement a data structure for Least Recently Used (LRU) cache. It should support th ...

  3. python学习教程(九)sqlalchemy框架的modern映射

    首先写一个modern.py文件, from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Col ...

  4. 怎样成为一个游戏制作人——第五章:使用GGE图形库来写游戏

    怎样成为一个游戏制作人--第五章:使用GGE图形库来写游戏 前言: 细致想了一下,来看博客的一般都是有自学能力的了.C++基础多少也会有一些了. 于是决定以下的章节.会教大家做一些小游戏. 来巩固自己 ...

  5. Python 自动化测试报告HTMLTestRunner

    HTMLTestRunner 是Python的一个测试报告 参考网址: http://tungwaiyip.info/software/HTMLTestRunner.html https://pypi ...

  6. 制作openstack用的centos6.5镜像

    目的: 在centos6.5操作系统环境下制作一个centos6.5的kvm镜像,安装cloud-init,能自己主动扩展根分区 一.制作环境: 操作环境是在openstack平台开一个实例.装的是c ...

  7. Windows Azure中的Affinity Group

    Affinity Group: (近亲组?个人认为直译为近亲组更好一些,不知道官方是怎么翻译的). 如何创建Affinity Group 1. 进入https://manage.windowsazur ...

  8. 【设计模式】Singleton模式C++实现

    Singleton是设计模式中比较简单的一个.园中的朋友们应该都很熟悉了.前段时间参加xxx外企的面试,和面试官讨论C++的时候正好写了一个.当时由于在有些地方考虑不太周全,代码出现了一些疏漏.不过最 ...

  9. Tengine中的proxy_upstream_tries

    upsream xxx { server 192.168.100.100; server 192.168.100.101; server 192.168.100.102; } server { loc ...

  10. Github上四种Lisp方言的流行度 | 肉山博客 (Wenshan's Blog)

    Github上四种Lisp方言的流行度 | 肉山博客 (Wenshan's Blog) Github上四种Lisp方言的流行度